亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從Python中的函數返回多個值的最佳方法是什么?

從Python中的函數返回多個值的最佳方法是什么?

滄海一幻覺 2019-11-15 13:08:40
我有一個函數,需要對字符串進行處理。我需要該函數返回一個布爾值,該布爾值指示操作是否成功,并且還需要返回修改后的字符串。在C#中,我將對字符串使用out參數,但是Python中沒有等效的參數。我對Python還是很陌生,我唯一想到的就是用布爾值和修改后的字符串返回一個元組。
查看完整描述

3 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

def f(in_str):

    out_str = in_str.upper()

    return True, out_str # Creates tuple automatically


查看完整回答
反對 回復 2019-11-15
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

如果操作失敗,為什么不拋出異常?就個人而言,我傾向于認為,如果您需要從一個函數中返回多個值,則應該重新考慮是否以正確的方式執行操作或使用對象。

但更直接的一點是,如果引發異常,則迫使他們處理問題。如果您嘗試返回一個指示失敗的值,則很可能有人無法檢查該值并最終導致一些潛在的難以調試的錯誤。


查看完整回答
反對 回復 2019-11-15
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

為失敗而引發異常是進行操作的一種好方法,如果返回許多不同的值,則可以返回一個元組。對于您所引用的特定情況,我經常采用一種中間方法:成功時返回修改后的字符串,失敗時返回None。我有足夠的未重組的C程序員想要在失敗時返回指向char的NULL指針。

如果我正在編寫一個例程,將其用作更大的庫的一部分并由其他開發人員使用,則在失敗時會拋出異常。當我吃自己的狗食時,我可能會返回不同類型的食物,并測試返回的食物。


查看完整回答
反對 回復 2019-11-15
  • 3 回答
  • 0 關注
  • 491 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號