Python变量赋值运算顺序
在Python中,有没有办法在函数调用的时候进行变量赋值?就像下面这样:
curr= []
curr.append(num = num/2)
3 个回答
0
即使你能这样做,带有副作用的表达式会让你的代码变得难以阅读。不过,Python会把那当作关键字参数来处理。你能做到的最接近的方式是:
class Assigner(object):
def __init__(self, value):
self.value = value
def assign(self, newvalue):
self.value = newvalue
return self.value
# ...
num = Assigner(2)
curr = []
curr.append(num.assign(num.value / 2))
4
我记得Python被创造出来的原因之一就是为了避免这些让人头疼的东西,更注重代码的可读性,而不是所谓的聪明才智 :-)
那么,请问,下面的代码有什么问题呢?
curr= []
num = num/2
curr.append(num)