def a():
w='www'
a.a='aaa'
print a.__dict__
a.__dict__={'1':'111','2':'222'}
print a.1#error
print a['1']#error
我怎樣才能獲得值「111」 感謝我怎樣才能獲得值「111」
def a():
w='www'
a.a='aaa'
print a.__dict__
a.__dict__={'1':'111','2':'222'}
print a.1#error
print a['1']#error
我怎樣才能獲得值「111」 感謝我怎樣才能獲得值「111」
你必須做
print a.__dict__['1']
或
print getattr(a, '1')
「1」 是不是在Python有效的變量名。如果你這樣做:
a.__dict__ = {'a1' : '111'}
print a.a1
它會工作。
雖然我不會推薦用'__dict__'來搞亂。 :) – Sapph 2010-01-06 08:01:46
您可以訪問它歸功於__dict__
成員。請參見下面的代碼
def a():
w='www'
a.a='aaa'
print a.__dict__
a.__dict__={'1':'111','2':'222'}
print a.__dict__['1']
既然你說只是一個初學者,也許你只是在尋找更簡單:
a = {'1':'111','2':'222'}
所以a['1']
返回想要'111'
爲什麼要這樣對自己? – 2010-01-06 07:55:08
請參閱django.utils.functional.py – zjm1126 2010-01-06 08:22:05
請不要這樣做。 '__dict__'不是它看起來的東西,也不能保證爲任何對象定義(例如,檢查:http://docs.python.org/reference/datamodel.html#slots)。只需使用setattr。請。哦,'1'不是Python中的有效標識符。 – shylent 2010-01-06 09:17:40