類的定義
類和對象都是對現實生活中或程序中的內容的抽象。
實際上所有的事物都是由兩部分組成:
1、數據(屬性)
2、行為(方法)
接下來嘗試定義一個類:
class Person :
pass
#創建Person的實例
p1=Person() #空的實例,沒有內容
p2=Person()
此時在內存中的存放類似下圖:
定義變量
在類的代碼塊中,我們可以定義變量和函數,變量會成為該類實例的公共屬性,所有的該類實例都可以通過 對象.屬性名
的形式訪問。
class Person :
name = 'swk'
p1 = Person()
p2 = Person()
print(p2.name)#訪問的是‘swk’
此時name為公共屬性,所有實例都可以訪問。比如p2.name
訪問的就是swk這樣一個名字。
定義函數
在類中也可以定義函數,類中的定義的函數,我們稱為該類實例的公共方法。所有的該類實例都可以通過 對象.方法名()
的形式調用方法。
class Person :
name = 'swk'
def say_hello(a) :
print('你好!')
p1 = Person()
p2 = Person()
#print(p2.name)
#調用方法:對象.方法名
p1.say_hello() # p1調用方法say_hello()
這裡延伸一下方法調用和函數調用的區別:
如果是函數調用,則調用時傳幾個參數,就會有幾個實參。
但是如果是方法調用,默認傳遞一個參數,所以方法中至少要定義一個形參。所以要在方法say_hello()中定義一個參數,佔位用的a。
此時內存的變化如下:
執行結果為:
注意:
方法調用時,第一個參數由解析器自動傳遞,所以定義方法時,至少要定義一個形參!!
點擊查看配套學習視頻
獲取更多內容請訂閱Python學習站官方技術圈!