我正在使用一些代码,并意识到当单个方法返回4个值时事情变得更容易。使用C++和Java等传统语言,其中方法只返回一个值,我开始想知道限制Python函数/方法返回的值的数量
Python函数返回的值的数量是否有限制?
像这样的东西毫不费力地工作。它有限制吗?
def hello():
return 1, 2, 3, 4, 5
a, b, c, d, e = hello()
print a, b, c, d, e
Stragely够了,我没有发现任何回答这个问题
我正在使用一些代码,并意识到当单个方法返回4个值时事情变得更容易。使用C++和Java等传统语言,其中方法只返回一个值,我开始想知道限制Python函数/方法返回的值的数量
Python函数返回的值的数量是否有限制?
像这样的东西毫不费力地工作。它有限制吗?
def hello():
return 1, 2, 3, 4, 5
a, b, c, d, e = hello()
print a, b, c, d, e
Stragely够了,我没有发现任何回答这个问题
如果你返回多个值,你实际上返回一个元组。事实上:
return 1,4,2,5
是短期的:
return (1,4,2,5)
所以问题归结为元组有多少项目可以携带。
import sys
sys.maxsize
它通常是2 -1 = 2 147 483 647在32位的系统上和2 -1 = 9 223 372 036 854 775 807:答案可以与获得一个64位系统。奇怪的是:它不是2 -1(或2 -1),所以这意味着从技术上讲,如果你有一台32位机器,并且你有4个GiB,那么它自己的清单本身只能填满一半的内存(当然列表中的元素可以负责填充剩余的一半)。
当然,这些元素也需要适应内存:如果你没有剩余空间来存储五百万个元素,你的程序无论如何都会崩溃。
Python函数只返回一个值:一个对象的引用。该对象可以是任何类型的,包括元组(这是用return 1, 2, 3, 4, 5
构造的)。对象的大小仅受计算机可用内存的限制。
啊,你是对的。这工作'>>> x =(1,2,3) >>> a,b,c = x >>> print a,b,c' – bholagabbar
我开始意识到这一点。谢谢! – bholagabbar