Python 变量定义的一种方式

2020-05-21 17:48发布

问题:

今天看Python程序时遇到一种定义变量的方式没有看明白,希望路过的前辈能指示一下。
简单来说,就是利用【函数名.变量=xxx】 的方式定义一个变量。比如

def fun():
temp += fun.value
其他函数体
if name == "main":
fun.value = 10
fun()

就是上面那样,利用函数fun.value来定义一个变量value的方法,应该叫做个什么方法呢?

回答1:

>>> 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'


回答2:

脚本语言好像都可以这样写,不过不建议,感觉这是取乱之道。