有没有办法在python中的=之后引用赋值的变量?与+ =相似

时间:2013-07-11 18:23:02

标签: python python-3.x

Python有+ =, - =,* =,%=等。这是否有通用形式?我想要尝试的第一件事是:

x = _ + 1

作为x+=1的通用版本。我对此很好奇,因为我的实际代码现在看起来像这样:

a = x[y][z]
x[y][z] = f(a)

x[y][z] = f( _ )之类的东西在我的脑海中有意义,也许是我想要的东西,但不是。 Python中有类似的东西吗?

2 个答案:

答案 0 :(得分:3)

不,没有,抱歉。我自己多次希望这样的事情。

答案 1 :(得分:1)

所以你可以做到这一点。虽然这是一个肮脏的黑客......

import inspect, sys

def getVariableAtBeginningOfLine():
    lineNumber = inspect.currentframe().f_back.f_lineno
    with open(sys.argv[0]) as f:
        lines = f.read().split("\n")

    #now we have the line we call the function on. 
    line = lines[lineNumber-1]

    #do whatever we want with the line, in this case take the variable at the beginning of the line.
    return eval(line.split()[0])

x = 10

print x #10

x = getVariableAtBeginningOfLine() + 1

print x #11