bho*_*bar 5 python function return-value
我正在使用一些代码,并意识到当单个方法返回4个值时,事情变得容易多了.使用传统语言,如C++和Java,其中方法只返回一个值,我开始怀疑
Python函数返回的值的数量是否有限制?
像这样的东西毫不费力地工作.它有限制吗?
def hello():
return 1, 2, 3, 4, 5
a, b, c, d, e = hello()
print a, b, c, d, e
Run Code Online (Sandbox Code Playgroud)
令人沮丧的是,我没有找到任何答案
如果返回多个值,则实际返回一个元组.确实:
return 1,4,2,5
Run Code Online (Sandbox Code Playgroud)
是短的:
return (1,4,2,5)
Run Code Online (Sandbox Code Playgroud)
所以问题归结为一个元组可以携带多少项.答案可以通过以下方式获得:
import sys
sys.maxsizeRun Code Online (Sandbox Code Playgroud)
在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万个元素,你的程序无论如何都会崩溃.
| 归档时间: |
|
| 查看次数: |
1242 次 |
| 最近记录: |