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

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

如果我的類型是函數,我可以在 Python 中使用什么類型提示?

如果我的類型是函數,我可以在 Python 中使用什么類型提示?

LEATH 2022-01-18 17:35:16
我想在 Python 中使用類型提示,但在某些情況下,我的參數類型不清楚……函數是否有類型,或者它們是特殊情況。我想做類似以下的事情:偽代碼:def run_function(function_to_run: fn):   function_to_run(data)這可能嗎?如果是這樣,我應該使用什么類型?編輯:我希望將函數與其他可調用對象(例如類)區分開來......但這可能并不重要并且過于謹慎。
查看完整描述

3 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

如文檔中所述:您可以使用Callable.


例如,您可以這樣使用它:


from typing import Callable


def run_function(function_to_run: Callable[[int], str]):

    function_to_run(data)

iffunction_to_run是從int到的函數str。


查看完整回答
反對 回復 2022-01-18
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

typing.Callable應該可以正常工作。你實際上并不關心它是一個特定的函數,它可能是一個類或某種可調用的實例。


查看完整回答
反對 回復 2022-01-18
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

雖然您幾乎可以肯定不關心各種可調用類型之間的區別,但如果您愿意,您可以強制執行該types模塊為不同類型的函數提供了相當多的特定名稱(其中一些您甚至可能不認為是不同的)類型)。僅舉幾個:

  • types.FunctionTypetypes.LambdaType(相同基礎類型的別名)

  • types.BuiltinMethodType 和 types.BuiltinFunctionType

  • types.MethodWrapperType

  • types.MethodDescriptorType


查看完整回答
反對 回復 2022-01-18
  • 3 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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