Python類的定義、方法和屬性使用


類用來描述具有相同的屬性和方法的對象的集合。
對於在類中定義的函數,稱為方法。
類變量不直接叫做類變量,稱為屬性。

1、類的定義

例子:

class User():
    pass

說明:

(1)定義了一個類名為User的類
(2)類名一般約定用大寫字母開頭,函數則用小寫字母開頭,以做區分
(3)用pass表示為空類,暫時還沒准備好類的內容

2、類的方法

例子:

class User():
    def say(self) -> None:
        print('hello')

調用:

a = User()
a.say()
print(hex(id(a)))
print(a)

運行結果:

hello
0x36dfd68
<__main__.User object at 0x00000000036DFD68>

說明:

(1)上面定義了方法say,方法可以有0到多個參數,但第一個參數是必須有的,第一個參數有約定俗成的名字叫self在對象上調用一個方法時,不需要手動為self提供一個值,原因是解釋器會自動把調用對象實例做為第一個參數,賦值給各個方法的self參數。
例如上面a.say()不需要為self提供值,解釋器會自動轉換為User.say(a)
(2)self 代表的是類的實例,上面hex(id(a))查詢實例的內存地址,可以看出和打印對象名是同個地址。
對象可以用__repr__方法覆蓋,例子:

class User():
    def __repr__(self) -> str:
        return '覆蓋默認行為'

調用:

a = User()
print(a)

運行結果:

覆蓋默認行為 

3、類的屬性

例子:

class User():
    def __init__(self, name: str) -> None:
        self.name = name        
    def say(self) -> str:
        print('我的名字是:', self.name)

調用:

a = User('張三')
print(a.name)
a.say()

運行結果:

張三
我的名字是: 張三

說明:

(1)用構造方法__init__初始化屬性,在方法中用self.屬性名訪問。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM