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

时间:2019-10-06 17:03:32

标签: python python-3.x function variables module

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

def addition(a, b):
    global mul

    mul = a * b        
    sum = a + b

    return sum   # only returns sum, mul is not returned

我像这样使用import调用此函数-

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

但是当我说-

ans2 = mul

我收到以下错误:

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

我希望检索'mul'的值,因为它已被分配为全局值。 如何从导入的函数中检索mul。如果未导入,则“ mul”将起作用。 由于该函数是导入的,因此显然“ addition”函数的源代码不可用。

应该怎么做?

2 个答案:

答案 0 :(得分:1)

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

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

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

ans1, ans2 = addition(3, 5)

答案 1 :(得分:0)

如果需要,您可以返回mul的值以及add,但实际上没有意义。...

但是如果要访问mul的值,请执行

from mathematics import addition,mul

mul必须是全局变量。