【发布时间】:2013-08-02 21:20:05
【问题描述】:
我有两个文件 random1.py、random2.py
random2.py 有
def your():
global mine
mine = 10
random1.py 有
import random2.py
global mine
mine = 4
random.your()
print mine
random1.py 打印出 4 而不是 10。
我的最终目标是让函数能够接收已声明的任何可能变量,并在函数运行后为该变量提供新值。尽管为了组织,我将所有功能都放在一个单独的文件中。我注意到如果我将它们放在同一个文件中,它会起作用。
我正在尝试从 Hoc 复制过程的功能
【问题讨论】:
-
此代码不会打印
4;它会随着ImportError而死。无论如何,这是一个坏主意,Python 不会让你轻松做到这一点。你最好使用参数将数据传递给函数并返回值来传递数据。 -
关键字
global具有误导性名称,因为它访问其所在模块(=脚本文件)的命名空间变量
标签: python function variables global