python 3.7で辞書型の挙動について困っております。
あるクラス内で作成した辞書型がすべてのインスタンスで共用になってしまいます。
python
1 2class test1: 3 dic = {} 4 5class test2: 6 name = "" 7 dic = test1() 8 9 def __init__(self, name): 10 self.name = name 11 12 13a = test2("a") 14b = test2("b") 15a.dic.dic["key"] = "value" 16 17 18# ▽期待通り"a"が返る。 19print(a.name) 20# ▽期待通り"b"が返り、test2のインスタンスが作成できていることを確認。 21print(b.name) 22# ▽期待通り"{'key': 'value'}"が返る。 23print(a.dic.dic) 24# ▼これが期待通りの"{}"が返らず、"{'key': 'value'}"が返る。 25print(b.dic.dic)
上記サンプルのtest2クラスのインスタンスごとに辞書を使用する場合はどうすればよいでしょうか?このような場合において、辞書型は使うべきではないのでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/22 02:14