>>> class A:
... pass
...
>>> a = A()
>>> a.x = 'test-x'
>>> a.x
'test-x'
>>> setattr(a, 'y', 'test-y')
>>> a.y
'test-y'
>>> getattr(a, 'y')
'test-y'
您的意思是,在类下面可以这样定义类的属性,但是遇到的那个程序里面,它不是一个类,而是一个函数,然后用类的方法来定义变量的,所有有点不明白。
@Andrew_qian:
哦,我看错了你的意图,回答错了问题。是的,python里面函数也是对象,也一样可以动态绑定属性。但是不建议这么写。
@窗户:
好的,谢谢您的回复。我大致了解了。原来Python中,函数也可以动态绑定属性。但是这是不好的编程习惯。
感谢!
@Andrew_qian: 其实这个是给了比如像C语言里,函数的static变量的一个方式。但是之所以不建议这样写,是因为可以用class取代它。
脚本语言好像都可以这样写,不过不建议,感觉这是取乱之道。
恩,好的,了解。谢谢您的回答。