我正在寻找任何一个小例子或什么来帮助我,我找不到它。我觉得我错过了一些明显的东西。我在一个.py文件中有一个大函数,我想在另一个.py文件中调用并使用函数中的所有变量而我无法做到。所以我试图用一个小例子来做它仍然无法得到它。假设我有一个包含以下内容的文件mod1.py:
def mod(num):
a = 5
b = 6
c = num
我尝试为它添加各种回报但仍然无法使其发挥作用。但我在一个名为mod_read.py的文件中调用它:
import mod1
mod1.mod(1)
d = mod1.mod.a
print(d)
当我运行mod_read.py时,我收到错误:“AttributeError:'function'对象没有属性'a'”。我错过了什么明显的事情?
答案 0 :(得分:6)
如果要从函数中获取值,则需要从中返回它们。否则,如果需要更多持久性,请查看OOP。
答案 1 :(得分:1)
您可以从函数返回多个值作为元组:
def mod(num):
a = 5
b = 6
c = num
return (a, b, num)
然后在另一个文件中,使用类似这样的内容:
import mod1
d, b, num = mod1.mod(1)
print(d)
答案 2 :(得分:0)
您不使用其他功能的变量。你调用一个函数,你得到它的返回值 - 这是一个函数的点(或引起它引起的任何副作用)。
如果你想要一个在变量中存储值的东西,你想要使用 objects 。定义一个类。
在您的特定示例中,我不知道“各种返回”的含义,但如果您希望函数返回a
,请执行return a
:
def mod(num):
a = 5
b = 6
c = num
return a