class animal:
formula = ['color','weight','age'] #類的屬性
def eat(self): #類的方法
print("eating...")
self 這個引數其實就是被建立的例項本身。
self這個引數名稱是可以隨意修改名稱的,但是按照python的規矩,我們還是統一使用self。
__init__() 如果在類中定義了它,在建立例項的時候它能夠幫你自動處理很多事情--比如新增例項屬性。即使我們在建立例項的時候不去引用它,其中的命令也會被自動地執行。
class animal:
formula = ['color','weight','age'] #類的屬性
def __init__(self, name):#__init__可以自定義引數,用法和函式引數一樣。
self.name = name #左邊的變數作為類的屬性, 右邊傳入的這個引數作為變數。
def eat(self): #類的方法
print("eating...")
class animal:
formula = ['color','weight','age'] #類的屬性
def __init__(self, name):#__init__可以自定義引數,用法和函式引數一樣。
self.name = name #左邊的變數作為類的屬性, 右邊傳入的這個引數作為變數。
def eat(self): #類的方法
print("eating...")
cat、dog等都會繼承animal這個類。
class cat(animal):
formula = ['color','weight','age'] #類的屬性
cat = cat("tom") #類的例項化
cat.eat() #呼叫類的方法
class testa: #類屬性被重新賦值,是否會影響到類屬性的引用
attr = 1
obj_a = testa()
testa.attr = 42
print(obj_a.attr) ##輸出42
#例項屬性被重新賦值,是否會影響到類屬性的引用?
class testa:
attr = 1
obj_a = testa()
obj_b = testa()
obj_a.attr = 42
print(obj_a.attr ) #輸出42
print(obj_b.attr) #輸出1
#類屬性和例項屬性具有相同的名稱
class testa:
attr = 1
def __init__(self):
self.attr = 42
obj_a = testa() print(obj_a.attr ) #輸出42
testa.attr = 100 print(obj_a.attr ) #輸出42
obj_a.attr = 1000 print(obj_a.attr ) #輸出1000
下面是類屬性和例項屬性的引用過程
Python 之 類的繼承
知識點 1.類的繼承 只能繼承父類的共有方法和屬性 2.當子類中無此方法時呼叫父類的方法 3.當有多個方法時,可通過print d.mro 檢視父類中 4.方法的重寫 當父類中的方法不能滿足需求的時候,可在子類中對其進行重寫 class a object def print c self print...
python之類的封裝
隱藏屬性或方法的過程稱為封裝,在屬性前加 把屬性定義為私有屬性,不能夠被讀取引數的資訊 class person def init self,age,self.age age self.per person 18,男 print 性別為 per.但可以對私有屬性進行賦值,獲取被賦值 class pe...
Python之類的學習
2 使用類和例項 3 繼承 根據dog類建立的每個例項都將儲存名字和年齡。我們賦予了每條狗蹲下 sit 和打滾 roll over 的能力 class dog 一次模擬小狗的簡單測試 def init self,name,age 初始化屬性name和age self.name name self.a...