【发布时间】:2018-05-19 13:06:32
【问题描述】:
在我的主类中,我使用在另一个名为 config.py 的文件中定义的全局变量 ADDRESS。 我想通过调用 config.py 中的函数来从我的主类中更改 ADDRESS 的值。
在我的主要课程中,我有:
from config import ADDRESS, change_address
change_address("192.168.10.100")
print("new address " + ADDRESS)
在我的配置文件中,我有以下内容:
ADDRESS = "0.0.0.0"
def change_address(address):
global ADDRESS
ADDRESS = address
print("changed address to: " + ADDRESS)
我的配置文件中的打印语句正确打印了新地址 192.168.10.100。 但是,我的主类中的打印语句打印 0.0.0.0。 我在这里错过了什么?
【问题讨论】:
-
您的
import将一个新的局部变量ADDRESS绑定到配置中ADDRESS变量所引用的字符串。当您调用change_address()时,config 中的ADDRESS变量现在指的是不同的字符串。您自己的局部变量仍然引用原始字符串。
标签: python