如何在Python

时间:2015-06-16 12:09:33

标签: python scope

从文件 foo.py ,我想更改放在不同文件中的变量的值,假设 bar.py

我试图将其导入变量,但似乎导入它不是作为参考。

只是例子:

bar.py

age = 18

foo.py

from bar import age

def changeAge(age, newAge):
    age = newAge

changeAge(age, 19)

我还尝试将age作为 bar.py 的参数传递,但结果相同,它不会通过引用传递,因此其值不会更改。

bar.py

from foo import changeAge

age = 18

changeAge(age, 19)

正如我所说,它根本不起作用。我知道我可以从函数中返回var,但是很可能会让我改变很多代码,为什么不呢,我想知道是否有办法做我需要的东西,我还是一个Python初学者。另一种方法是将变量包装在一个对象,一个列表或类似的东西中,但它看起来并不太优雅。

3 个答案:

答案 0 :(得分:5)

def changeAge(newAge):
    import bar
    bar.age = newAge

答案 1 :(得分:-2)

如果您只想更改' age'你可以做以下

bar.py

rows, err := db.Query("SELECT * FROM Apps ORDER BY ? DESC", "title")

foo.py

age = 18

答案 2 :(得分:-2)

你忘记归还newAge。

from bar import age

def changeAge(age, newAge):
    age = newAge
    return newAge

print changeAge(age, 19)

按预期打印出19个。