"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...