Как использовать глобальные переменные из импортированных функций - PullRequest
0 голосов
/ 06 октября 2019

Скажем, «Математика» - это модуль, загружаемый из Pypi. Он содержит следующую функцию:

def addition(a, b):
    global mul

    mul = a * b        
    sum = a + b

    return sum   # only returns sum, mul is not returned

Я вызываю эту функцию, используя импорт следующим образом -

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

Но когда я говорю -

ans2 = mul

, я получаюследующая ошибка:

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

Я надеялся получить значение 'mul', поскольку оно было назначено глобальным. Как я могу получить mul из импортированной функции. Если бы он не был импортирован, 'mul' работал бы. Поскольку функция импортирована, очевидно, что исходный код функции «сложение» недоступен.

Что нужно сделать?

Ответы [ 2 ]

1 голос
/ 06 октября 2019

Вместо использования global верните оба значения:

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

и присвойте обеим переменным:

ans1, ans2 = addition(3, 5)
0 голосов
/ 06 октября 2019

если вы хотите, вы можете вернуть значение mul вместе с add, но на самом деле это не имеет смысла ....

, но если вы хотите получить доступ к значению mul, выполните

*Хотя 1004 *from mathematics import addition,mul

mul должен быть глобальной переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...