您好,登錄后才能下訂單哦!
這篇文章主要介紹Animal怎么修改python3中的類,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
python中的一個類中有屬性和方法,而二者都分為很多種類型,如下所示
屬性分為普通屬性和類屬性
方法分為普通方法、類方法、靜態(tài)方法。
具體定義方法和使用見下面的代碼和注釋,各個屬性和方法的使用習(xí)慣等見最后的 print_animal 函數(shù)打印出的結(jié)果
下面是類的定義
class Animal: # 這里是屬性定義 actually = "animal" # 類屬性 def __init__(self, name, age): # 定義實例時,放在括號里的才要指定 self.name = name # 普通屬性,要在__init__方法中定義 self.age = age # 下面是方法的定義 def sleep(self): # 普通方法 print(self.name, "is sleeping") def eat(self, food): # 普通方法,另帶參數(shù) print(self.name, "is eating", food) @classmethod def sentence(cls, adv): # 類方法,使用裝飾器變成類方法 print("I am", adv, "an", cls.actually) @staticmethod def other(person, do): # 靜態(tài)方法 print(person, "is", do+"ing") @staticmethod def print_animal(): print("這是之后定義子類的父類,主要講解最基本的屬性、方法以及屬性的修改") print("類屬性actually:屬于整個類,每個實例都有的屬性,內(nèi)容相同,創(chuàng)建實例時不需要指定,類和實例都可以調(diào)用") print("普通屬性name age:屬于各個實例,用于存儲實例數(shù)據(jù)") print("普通方法sleep eat:由對象調(diào)用,至少一個參數(shù)self") print("類方法sentence:由類、實例調(diào)用,至少一個參數(shù)cls,可以引用類屬性") print("靜態(tài)方法other:類中的普通函數(shù),可由類、實例調(diào)用") print("修改類屬性:用類調(diào)用修改,所有實例都更改;用實例調(diào)用修改不影響類和其他實例") print("修改普通屬性:直接賦值即可")
創(chuàng)建實例
# 創(chuàng)建實例調(diào)用Animal類 adams = Animal(name="Adams",age=2) # 創(chuàng)建實例 adams.actually # 調(diào)用類屬性 # 'animal' Animal.actually # 類調(diào)用類屬性 # 'animal' adams.name # 調(diào)用普通屬性 # 'Adams' adams.sleep() # 調(diào)用普通方法 # Adams is sleeping adams.eat("meat") # 有參數(shù)的普通方法 # Adams is eating meat adams.sentence("really") # 實例調(diào)用類方法 # I am really an animal Animal.sentence("actually") # 類調(diào)用類方法 # I am actually an animal adams.other("Tim", "play") # 實例調(diào)用靜態(tài)方法 # Tim is playing Animal.other("Mary", "watch") # 類調(diào)用靜態(tài)方法 # Mary is watching Animal.actually = "Animal" # 修改類屬性 adams.actually # 'Animal' adams.actually = "animal" Animal.actually # 'Animal' adams.age = 3 # 普通屬性這樣就改過來了 Animal.print_animal()
以上是Animal怎么修改python3中的類的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。