python - 如何在 Python 中更改来自不同 .py 文件的变量值

标签 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 初学者。另一种方法是将变量包装在对象、列表或类似的东西中,但它看起来不太优雅。

最佳答案

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

关于python - 如何在 Python 中更改来自不同 .py 文件的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30867179/

相关文章:

python - python-attrs 中带有额外参数的自定义验证器

python - 在列表列表中比较列表值的最佳方法是什么?

Scala 隐式参数,在伴随对象中定义了默认值

python - 插入 Mongo 时如何处理 json 中的长整型?

android - 获取 Activity 经理的状态

python - 名称错误 : name 'Ridge' is not defined

swift - 如果 Swift 'guard' 语句必须退出作用域,那么作用域的定义是什么?

java - 关于请求对象行为的混淆

javascript - 是否有可能访问函数的闭包?

c++ - 使用预制命名空间 (C++) 的范围