python之類的詳解

2021-10-05 20:30:03 字數 1834 閱讀 3406

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