python基礎8之類的例項化過程剖析

2022-05-27 03:42:24 字數 1490 閱讀 4096

之前我們說關於python中的類,都一臉懵逼,都想說,類這麼牛逼到底是什麼,什麼才是類?下面我們就來講講,什麼是類?它具有哪些特性。

2.1 語法

class dog(object):   #用class定義類

"dog class" #對類的說明

def __init__(self,name): #建構函式或者是構造方法,也可以叫初始化方法

self.name = name

def sayhi(self): #類方法

"sayhi funcation" #對類方法的說明

print("hello,i am a dog,my name is ",self.name)

d = dog("alex") #定義乙個d的物件,叫例項

d.sayhi() #呼叫例項的方法

2.2 self關鍵字有很多小夥伴不禁的疑問,這個self是什麼鬼?為什麼在執行sayhi函式時,上面的self.name可以在函式中被呼叫?如下圖:

其實self 這個關鍵字相當於例項化物件本身(self相當於d),在例項化過程中,把自己傳進去了,我們隊上面的兩行做一下解釋:

2.3 函式__init__()

在類中__init__()函式叫建構函式,又叫構造方法,也可以叫初始化函式。它的作用就是初始化例項時,初始化傳入例項的的預設值。如果不寫__init__(),就會呼叫的預設為空的__init__(),說白了,這個方法不管你寫不寫,都會呼叫,而且,一旦例項化就會呼叫。

class dog(object):

"dog class"

def __init__(self,name): #構造方法,不寫呼叫預設的構造方法

self.name = name

def eat(self,food):

print("the dog name is ,it like food is ".format(self.name,food))

d = dog("alex")

d.eat("hotdog")

#輸出the dog name is alex,it like food is hotdog

最後我們畫乙個圖,來說明一下實話過程的圖,不然真的很難理解這個玩意:

由上圖可知:其實self,就是例項本身!你例項化時python會自動把這個例項本身通過self引數傳進去

python基礎8之類的析構函式

析構函式,第一次聽說這個函式的名稱,那這個函式到底是幹嘛的呢?什麼才是析構函式吶?定義 在例項銷毀的時候呼叫的函式 2.1 定義 class dog object dog class def init self,name self.name name def sayhi self print the...

Java之類例項化的順序

在建立乙個物件例項時,是如何一步步的進行 執行的呢,一般來說,順序如下 1.首先是父類的靜態變數和靜態 塊 看兩者的書寫順序 2.第二執行子類的靜態變數和靜態 塊 看兩者的書寫順序 3.第三執行父類的成員變數賦值 4.第四執行父類類的構造 塊 5.第五執行父類的構造方法 6.執行子類的構造 塊 7....

python基礎之類屬性和例項屬性

屬性 類屬性和例項屬性 類屬性 就是類物件所有的屬性 小結 類屬性 是可以 被 類物件和例項物件共同訪問的 例項屬性只能由例項物件訪問 class student name 黎明 屬於類屬性 就是student類物件所擁有的 def init self,age self.age age 例項屬性 p...