Python 如何从一个函数中访问多个值,同时只调用一次该函数?

Python 如何从一个函数中访问多个值,同时只调用一次该函数?,python,python-3.x,Python,Python 3.x,我在文档中循环查找语料库列表中包含的单词。我注意到,每次使用函数返回的值时,它都会再次调用整个函数 def function1(): print ("function1") x = 1 y = 2 return (x,y) print (function1()[0]) print (function1()[1]) 结果我得到了 function1 1 function1 2 这表示函数运行了2次。有没有办法让函数只运行一次 所以希望输出看起来像 functi

我在文档中循环查找语料库列表中包含的单词。我注意到,每次使用函数返回的值时,它都会再次调用整个函数

def function1():
    print ("function1")
    x = 1
    y = 2
    return (x,y)

print (function1()[0])
print (function1()[1])
结果我得到了

function1
1
function1
2
这表示函数运行了2次。有没有办法让函数只运行一次

所以希望输出看起来像

function1
1
2

代码需要花费数小时才能运行,我认为这是部分原因。编辑:我意识到我可以将输出元组分配给变量,但我试图避免全局变量。

将function1结果分配给变量

例如:

Example = function1()
print(Example[0])
print(Example[1])
它只会运行函数一次,您可以访问该函数返回的数据任意多次,而无需再次运行该函数。

是。
def function1():
    print ("function1")
    x = 1
    y = 2
    return (x,y)

print (function1()[0])
print (function1()[1])
将函数的返回值赋给变量。
然后根据需要多次访问该变量-不需要再次调用该函数,除非该函数在再次调用时会为您提供不同的返回值-例如获取当前时间。但是如果你在做这样的事情,你就不会问这个问题。

x,y=function1;printx;printy?你没有返回多个值你返回的是一个元组在我的实际代码中,我返回的是一个包含10个值的元组,每次我引用其中一个值时,函数都会再次运行。这似乎是不必要的,因为数据输入和元组输出没有改变。我试图理解如何在不需要的情况下不让函数多次运行。这是否等同于使用全局变量?如果它是在主变量中,则它是全局变量。但通常在程序中,大多数代码都被组织成函数和类——在这种情况下,变量将是局部变量、类变量或实例变量。