Python中類物件屬性方法

2021-10-07 08:58:26 字數 2242 閱讀 5162

​ "class 類名"可以定義類物件。

​ 實際上,當直譯器執行class語句時,就會建立乙個類物件。

#測試類物件的生成

class

student

:pass

#空語句

#type是python中的模具類。

print

(type

(student)

)print(id

(student)

)stu2=student

s1=stu2(

)print

(s1)

​ 類屬性是從屬於「類物件」的屬性。由於,類屬性從屬於類物件,可以被所有的例項物件共享。

【定義方式】

class 類名:

類變數名=初始值

【讀寫】

類名.類變數名
​ 類方法是從屬於「類物件」的方法。通過裝飾器@classmethod來定義。

【格式】

def  類方法名(cls[,形參列表])

函式體

【要點】

1、@classmethod必須位於方法上面一行。

2、第乙個cls必須有:cls指的就是「類物件本身」。

3、呼叫類方法格式:

類名.類方法名(引數列表)

引數列表中不能給cls傳值。

4、類方法中訪問例項屬性和例項方法會導致錯誤。

5、子類繼承父類方法時,傳入cls是子類物件,而不是父類物件。

【操作】

#測試類方法

class

student

: company=

"sxx"

#類屬性

@classmethod

defprintcompany

(cls)

:print

(cls.company)

student.printcompany(

)

【結果】

sxx
​ python中允許定義與「類物件」無關的方法,稱為「靜態方法」。

​ 「靜態方法」放到了「類的名字空間裡面」,需要通過「類呼叫」。

靜態方法通過裝飾器@staticmethod來定義。

【格式】

@staticmethod

def 靜態方法名([形參列表]):

函式體

【要點】

1、@staticmethod必須位於方法上面一行。

2、呼叫靜態方法格式:「類名.靜態方法名(引數列表)」

第乙個cls必須有:cls指的就是「類物件本身」。

3、靜態方法中訪問例項屬性和例項方法會導致錯誤。

【操作】

#測試類方法

class

student

: company=

"sxx"

#類屬性

def__init__

(self,name,age)

:#增加例項屬性

self.name=name

self.age=age

@classmethod

defprintcompany

(cls)

:print

(cls.company)

#print(self.name) 注意:類方法和靜態方法不能呼叫例項變數

student.printcompany(

)print

("***測試靜態方法***"

)#測試靜態方法

class

student2

: company=

"sxx"

#類屬性

@staticmethod

defadd

(a,b)

:#靜態方法

print

("+="

.format

(a,b,

(a+b)))

return a+b

student2.add(20,

30)

【結果】

sxx

***測試靜態方法***

20+30=50

Python中的類物件 例項物件 屬性 方法

class animal object 類物件 age 0 公有類屬性 like none 私有類屬性 def init self 魔法方法 self.name haha 公有例項屬性 self.man 私有例項屬性 defsmile self 公有方法 self指向例項物件 pass def ju...

python類 物件 屬性 方法 類的成員

類 具有同種屬性的物件稱為類,是個抽象的概念。比如說 汽車 人 狗 神 物件 日常生活中的所有東西都是物件,是類的例項化。比如說 推土車是汽車的例項化 姚明是人的例項化 小白 狗的名字 是狗的例項化 二郎神是神的例項化 屬性 用來描述具體某個物件的特徵的是屬性,是靜態的。比如 姚明身高2.6公尺多 ...

類 物件 屬性 方法

一程式一世界 1.類是抽象的,概念性的,代表的是一類事物 2.物件是具體的,實際的,代表乙個具體事物 3.類是物件的模板,物件是類的乙個個體,乙個例項。類由成員屬性和成員方法構成。注意 類名首字母要大寫,方法名首字母要小寫。成員方法命名 駝峰法 匈牙利法 比如myname 下劃線法,比如my nam...