繁体   English   中英

限制Python函数/方法返回的值的数量

[英]Limit on the number of values returned by a Python function/method

我正在使用一些代码,并意识到当单个方法返回4个值时,事情变得容易多了。 使用传统语言,如C ++和Java,其中方法只返回一个值,我开始怀疑

Python函数返回的值的数量是否有限制?

像这样的东西毫不费力地工作。 它有限制吗?

def hello():
    return 1, 2, 3, 4, 5

a, b, c, d, e = hello()
print a, b, c, d, e


令人沮丧的是,我没有找到任何答案

如果返回多个值,则实际返回一个元组 确实:

return 1,4,2,5

是短的:

return (1,4,2,5)

所以问题归结为一个元组可以携带多少项 答案可以通过以下方式获得:

import sys

sys.maxsize

在32位系统上通常为2 31 -1 = 2 147 483 647,在64位系统上为2 63 -1 = 9 223 372 036 854 775 807。 奇怪的是:它不是2 32 -1(或2 64 -1)所以这意味着从技术上讲,如果你有一台32位机器,并且你有4 GiB,列表本身只能填满一半记忆(当然列表中的元素可以负责填补剩余的一半)。

当然元素也需要适合内存:如果你没有空间来存储500万个元素,你的程序无论如何都会崩溃。

Python函数只返回一个值:对象的引用。 该对象可以是任何类型,包括元组(这是由return 1, 2, 3, 4, 5构造的)。 对象的大小仅受计算机可用内存的限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM