我怎样才能得到'111'的价值

zjm*_*126 -2 python

def a():
    w='www'
a.a='aaa'
print a.__dict__
a.__dict__={'1':'111','2':'222'}
print a.1#error
print a['1']#error
Run Code Online (Sandbox Code Playgroud)

我怎么能得到'111'的价值谢谢

Sap*_*pph 10

你必须这样做

print a.__dict__['1']
Run Code Online (Sandbox Code Playgroud)

要么

print getattr(a, '1')
Run Code Online (Sandbox Code Playgroud)

"1"不是Python中的有效变量名.如果你这样做:

a.__dict__ = {'a1' : '111'}
print a.a1
Run Code Online (Sandbox Code Playgroud)

它会奏效.

  • 我不建议乱用`__dict__`.:) (4认同)