開發與維運

類的定義 | Python從入門到精通:高階篇之二十二

類的定義

類和對象都是對現實生活中或程序中的內容的抽象。
實際上所有的事物都是由兩部分組成:
1、數據(屬性)
2、行為(方法)

接下來嘗試定義一個類:

class Person :
pass

#創建Person的實例
p1=Person() #空的實例,沒有內容
p2=Person()

此時在內存中的存放類似下圖:
image.png

定義變量

在類的代碼塊中,我們可以定義變量和函數,變量會成為該類實例的公共屬性,所有的該類實例都可以通過 對象.屬性名 的形式訪問。

class Person :
    name = 'swk'
p1 = Person()
p2 = Person()
print(p2.name)#訪問的是‘swk’

image.png
此時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。

此時內存的變化如下:
image.png
執行結果為:
image.png

注意:
方法調用時,第一個參數由解析器自動傳遞,所以定義方法時,至少要定義一個形參!!

點擊查看配套學習視頻

獲取更多內容請訂閱Python學習站官方技術圈!

Leave a Reply

Your email address will not be published. Required fields are marked *