您好,登錄后才能下訂單哦!
class Foo:
"""
類成員分三大類:字段(普通字段,靜態(tài)字段)方法(普通方法,類方法,靜態(tài)方法)
屬性(普通屬性)
"""
# 而其他的成員,則都保存在類中,即:無論對象的多少,在內(nèi)存中只創(chuàng)建一份。
# 靜態(tài)字段
county = '中國'
'''
屬性的定義和調(diào)用注意點(diǎn):
1.定義時,在普通方法的基礎(chǔ)上添加@property裝飾器;
2.定義時,屬性僅有一個self參數(shù);
3.調(diào)用時,無需括號
方法:foo_obj.func()
屬性:foo_obj.prop
注意:屬性存在意思是:訪問屬性時可以制造出和訪問字段完全相同的假象。
屬性由方法變種而來,如果python中沒有屬性,方法完全可以代替其功能。
'''
@property
def prop(self):
return '這是一個屬性'
def __init__(self, user_name, age, sex) -> None:
super().__init__()
# 普通字段
self.user_name = user_name
self.age = age
self.sex = sex
# 相同點(diǎn):對于所有的方法而言,均屬于類(非對象)中,所以,在內(nèi)存中也只保存一份。
# 不同點(diǎn):方法調(diào)用者不同、調(diào)用方法時自動傳入的參數(shù)不同
# 普通方法,至少有一個self參數(shù)
def play(self, hobby):
print('%s %s 今年%s歲,%s' % (self.user_name, self.sex, self.age, hobby))
# 類方法,至少有一個cls參數(shù)
@classmethod
def class_func(cls):
print('類方法')
# 定義靜態(tài)方法,無默認(rèn)參數(shù)
@staticmethod
def static_func():
print('靜態(tài)方法')
xm = Foo('小敏', 25, '女')
xm.play('喜歡旅游')
Foo.static_func()
Foo.class_func()
print(Foo.county)
print(xm.prop)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。