假設有這樣的一個 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