天天看點

Python面向對象-類的定義(七)!/usr/bin/python3執行個體化類

!/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)