說說如何使用 Python 類的屬性

deniro發表於2019-03-31

說說如何使用 Python 類的屬性

假設有這樣的一個 User 類:

class User():
    '''賬號資訊'''

    def __init__(self, name, pwd):
        '''初始化'''
        self.name = name
        self.pwd = pwd

複製程式碼

1 指定屬性預設值

可以在方法 __init__() 內指定屬性初始值。這裡我們為 User 類,新增一個登陸次數屬性並設定預設值,還定義了一個方法,用於列印登陸次數':

...
    def __init__(self, name, pwd):
        '''初始化'''
        self.name = name
        self.pwd = pwd
        # 登陸次數
        self.login_count = 0
   def print_login_count(self):
        '''列印登陸次數'''
        print('登陸次數=' + str(self.login_count))
...
複製程式碼

呼叫程式碼:

deniro_user = User('Deniro', '1')
deniro_user.print_login_count()

複製程式碼

執行結果:

登陸次數=0

2 修改屬性值

2.1 直接修改

最簡單的方式就是通過例項直接訪問修改屬性的值,即使用句點表示法:

deniro_user.login_count = 10
deniro_user.print_login_count()
複製程式碼

執行結果:

登陸次數=10

2.2 通過方法修改

有時候,修改類屬性的邏輯很複雜,這時我們就可以定義一個修改方法,然後將值傳遞給這個方法, 然後在內部更新類屬性的值。

首先在 User 類中定義一個 “更新登陸次數” 的方法:

  def update_login_count(self, num):
        '''更新登陸次數'''
        self.login_count = num
複製程式碼

然後在類例項中呼叫它:

deniro_user.update_login_count(10)
deniro_user.print_login_count()
複製程式碼

執行結果:

登陸次數=10

相關文章