gpt4 book ai didi

python - 我如何在 Python 中使用外部变量,例如 C 中的 'extern int x;'?

转载 作者:太空狗 更新时间:2023-10-29 18:29:47 24 4
gpt4 key购买 nike

如何在 Python 中使用外部变量,例如在 C 中使用 extern int x;

例如,

ma​​in1.py:

from myfunc import print_a 

a = 10
print a
print_a()

myfunc.py:

def print_a():
global a
print a

最佳答案

只需重新分配模块中的变量:

import myfunc
from myfunc import print_a

a = 10

print a

myfunc.a = a

print_a()

否则不可能。

请记住,python 处理模块的方式与 C 完全不同。python 中的 import 在那个地方“复制文件的内容”,但它执行给定文件中的代码并创建一个模块对象。

模块的全局变量是 module 对象属性,可以按照我所展示的进行修改。除了内置函数之外,没有“全局变量”这样的概念。


我建议重构您的代码,使您根本不必修改此全局变量,将使用 myfunc.a 的代码从 main1myfunc。您需要这样的全局变量这一事实已经是一种代码味道,表明您的代码有问题,您应该尝试修复它。


实际上有一种方法可以影响“全局范围”,但它太老套了,我什至不想提它。相信我:您不想使用它。如果人们看到您的代码使用此类黑客攻击,您可能会面临人身危险。

关于python - 我如何在 Python 中使用外部变量,例如 C 中的 'extern int x;'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18034587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com