私はPythonの初心者です。私はそのバグを信じています。Python - なぜこれが起こっていますか?
編集2011-09-30: 忘れてしまった。今私は作成された属性が静的で、インスタンス間で共有されていることを知っています。 このスレッドは、私と同じ状況で別のPython初心者を助けてくれることを願っています。今すぐ質問
class test():
dictionary1 = {}
list1 = []
def method1(self):
self.dictionary1.update({'1': 'unique entry'})
self.list1 = ['unique list entry']
t=test()
print 'dictionary1 value:', t.dictionary1
print 'list1 value:', t.list1
t.method1()
print 'dictionary1 new value:', t.dictionary1
print 'list1 new value:', t.list1
t2=test()
print 'dictionary1 value:', t2.dictionary1, " -- error -- I just instantiated the class. The correct value would be {}"
print 'list1 value:', t.list1
t2.method1()
print 'dictionary1 new value:', t.dictionary1
print 'list1 new value:', t.list1
:
は、次のコードを考えてみましょう
ライン19で実行されるコードを示して、なぜ:{'1': 'unique entry'}
が。 []
(ライン20で空のリスト)
Using Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
英語申し訳ありませんがあまりよくありません。リストが正しい値を持っていることを{}
注:私はそれを信じだろう。ブラジルから。
編集2011-09-30: 忘れてしまった。今私は作成された属性が静的で、インスタンス間で共有されていることを知っています。 このスレッドは、私と同じ状況で別のPython初心者を助けてくれることを願っています。
ルール番号。 1:バグはあなたのコードまたは機能の理解にあるが、成熟した、よくテストされた実装ではない。 – delnan
あなたのコードは完全に壊れています。実際に動作するものを投稿してください。 – Daenyth
'self.list1 = ['一意のリストエントリ']のインデントは正しいですか? 'method1'の中にないようです。 – thegrinner