class dog(object): # 定義classdef __init__(self, name): # 建構函式,構造方法 == 初始化方法
self.name = name # d.name = name 類的屬性 / 成員變數
def say_hi(self): # 類的方法
print("hello, i am a dog. my name is", self.name)
def eat(self, food):
print("%s is eating %s." % (self.name, food))
d = dog("xiaohei") # dog(d,"xiaohei") d == self
# d 例項化的物件即例項,類中的self相當於例項
d.say_hi() # d.say_hai(d)
d.eat('beaf')
類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱, 按照慣例它的名稱是 self。
class dog(object):def prt(self):
print(self)
print(self.__class__)
d = dog()
print(d)
print("-------------")
d.prt()
#輸出<__main__.dog object at 0x000001ddbd10c5f8>
-------------
<__main__.dog object at 0x000001ddbd10c5f8>
從執行結果可以很明顯的看出,self 代表的是類的例項,代表當前物件的位址,而 self.class 則指向類。
例項化類其他程式語言中一般用關鍵字 new,但是在 python 中並沒有這個關鍵字,類的例項化類似函式呼叫方式。
# 建立乙個dog類的物件d = dog("xiaohei")
例項化後的物件又稱之為:例項
您可以使用點(.)來訪問物件的屬性
# 通過 d.方法 來訪問屬性d.eat('beaf')
#輸出xiaohei is eating beaf.
類的初始化過程,類的例項化過程
乙個類進行初始化或例項化時,一定會先對其父類進行初始化或例項化。子類進行初始化 1 父類進行初始化 2 子類的靜態成員變數 靜態 塊進行初始化 父類進行初始化 1 父類的靜態成員變數 靜態 塊進行初始化 注意 靜態成員變數 靜態 塊有先後順序,誰在上先初始化誰 子類進行例項化 1 父類進行初始化 2...
類的例項化執行過程。。。。。。
類的例項化執行過程 一,1 靜態 塊和靜態方法優先。2 例項 塊,例項成員。3 構造方法。二,父類優先子類。三,1 父類 靜態 2 子類 靜態 3 父類例項 4 父類構造 5 子類例項 6 子類構造 帶尺寸的 居中的 居中並且帶尺寸的 當然,我們為了讓使用者更加便捷,我們增加了拖拽功能。去部落格設定...
類初始化和例項化過程
1 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 2 乙個子類要初始化需要先初始化父類 3 乙個類初始化就是執行clinit 方法 clinit每個類都有,自動生成 中文名類初始化方法 clinit方法由靜態類變數顯示賦值 和靜態 塊組成 類變數顯示賦值 和靜態 塊...