代码之家  ›  专栏  ›  技术社区  ›  Falmarri

Python变量赋值运算顺序

  •  4
  • Falmarri  · 技术社区  · 14 年前

    在python中,有没有一种方法可以在函数调用内部进行变量赋值?像这样的

    curr= []
    curr.append(num = num/2)
    
    3 回复  |  直到 14 年前
        1
  •  8
  •   msw    14 年前

    statement . 它不是一个 expression 在C派生语言中也是如此。

        2
  •  4
  •   paxdiablo    14 年前

    我很确定我记得Python创建的原因之一是为了避免这些讨厌的东西,而不是更喜欢可读性而不是所谓的聪明:-)

    请告诉我,下面的错误是什么?

    curr= []
    num = num/2
    curr.append(num)
    
        3
  •  0
  •   Michael Aaron Safyan    14 年前

    即使可以,副作用表达式也是使代码不可读的好方法,但是。。。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))