簡體   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