私はクラス変数とのものの違いを知ろうとしています。私は、クラス変数は通常静的であり、変更可能であることを理解しています。Pythonクラスvs.インスタンス変数|整数/リスト
私は、可変アカウントがサムのインスタンスによって変更された後で、それがDavidのために変更された理由を知りたいと思います。
ただし、Samの残高を更新すると、Davidの値は変更されません。ありがとうございました。
class BankAccount:
Balance = 0
Accounts = []
Sam = BankAccount()
David = BankAccount()
print("Sam's Balance", Sam.Balance)
print("David's Balance", David.Balance)
print("")
print("Sam's Accounts", Sam.Accounts)
print("David's Accounts", David.Accounts)
Sam.Balance = 1000
Sam.Accounts.append("Sam's Personal Checking")
print("Sam's Balance", Sam.Balance)
print("David's Balance", David.Balance)
print("")
print("Sam's Accounts", Sam.Accounts)
print("David's Accounts", David.Accounts)
既存のリストに 'BankAccount.Balance'と' append() 'を隠す新しい変数' Sam.Balance'をバインドしています。 'Sam.Balance + = 1000'を指定しても' int'が変更できないので 'BankAccount.Balance'を隠すことになります。 – AChampion
'Sam.Balance = 1000'では、新しいインスタンス変数を作成しています。 –
クラス内にプリント機能を追加して、グローバル変数バランスとself.Balanceを印刷したのは同じですか?私はその部分について少し混乱しています。 – Davidhall