!/usr/bin/python3
class MyClass:
“”“一個簡單的類執行個體”""
i = 123456
def f(self):
return “hello world”
#執行個體化類
x = MyClass()
#通路類的屬性和方法
print(“MyClass類的屬性i為:”,x.i)
print(“MyClass類的方法f為:”,x.f())
########################################################################
‘’’
類有一個名為 init() 的特殊方法(構造方法),該方法在類執行個體化時會自動調用,像下面這樣:
def init(self):
self.data = []
類定義了 init() 方法,類的執行個體化操作會自動調用 init() 方法。如下執行個體化類 MyClass,對應的 init() 方法就會被調用:
x = MyClass()
‘’’
class Complex:
def init(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i) # 輸出結果:3.0 -4.5
########################################################################
‘’’
類的方法
在類的内部,使用 def 關鍵字來定義一個方法,與一般函數定義不同,類方法必須包含參數 self, 且為第一個參數,self 代表的是類的執行個體。
‘’’
#類定義
class people:
#定義基本屬性
name = ‘’
age = 0
#定義私有屬性,私有屬性在類外部無法直接進行通路
__weight = 0
#定義構造方法
def init(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
def speak(self):
print("%s 說: 我 %d 歲。" %(self.name,self.age))
def speak_w(self):
return self.__weight
執行個體化類
p = people(‘admin’,10,30)
p.speak()
w1 = p.speak_w()
print(w1)