繁体   English   中英

如何使用导入函数中的全局变量

[英]How to use Global Variables from Imported Functions

说“数学”是一个可从 Pypi 下载的模块。 它包含以下 function:

def addition(a, b):
    global mul

    mul = a * b        
    sum = a + b

    return sum   # only returns sum, mul is not returned

我用这样的导入调用这个 function -

from mathematics import addition
ans1 = addition(3, 5)
print(ans)

但是当我说——

ans2 = mul

我收到以下错误:

AttributeError: 'function' object has no attribute 'mul'

我希望检索“mul”的值,因为它已被分配为全局。 如何从导入的 function 中检索 mul。 如果它没有被导入,'mul' 会起作用。 由于导入了 function,显然 function 'addition' 的源代码不可用。

应该做什么?

不使用全局,而是返回两个值:

def addition(a, b):
    mul = a * b
    sum = a + b
    return sum, mul

并将两者分配给两个变量:

ans1, ans2 = addition(3, 5)

如果您愿意,您可以将 mul 的值与 add 一起返回,但实际上这没有意义....

但如果您想访问 mul 的值,请执行

from mathematics import addition,mul

mul 必须是一个全局变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM