簡體   English   中英

有沒有辦法描述/類型提示函數參數的內容?

[英]Is there a way to describe/type-hint the contents of a function's parameters?

我正在嘗試學習如何更好地記錄我的代碼。 描述 function 並只是暗示它接收dict似乎讓任何未來的讀者都缺乏信息。

執行以下操作是否很常見? 或者是否有另一種方式我錯過了關於這個主題的閱讀?

    def add_control(self, ctrl_data: dict):
        """

        :param ctrl_data:
            - name: str
            - channel: int
            - control_channel_id: int
            - default_position: int
        :type ctrl_data: dict
        """

編輯:在盲目地稱它為重復之前,請實際閱讀一下這個問題。 我的問題已經表明我知道什么是類型提示,我正在尋找關於在處理參數中的嵌套對象時類型提示如何工作的一個非常具體的部分的答案。

from typing import TypedDict

class CtrlData(TypedDict):
  name: str
  channel: int
  control_channel_id: int
  default_position: int

def add_control(self, ctrl_data: CtrlData):
  ...
  • 為了更好地記錄代碼,您應該添加一個返回類型。
def add_control(self, ctrl_data: CtrlData) -> TReturn:
  ...
  • 您還可以更改 function 簽名並讓調用者解壓字典。 我會說當你只有幾個參數時會更清楚。
def add_control(
  self,
  name: str,
  channel: int,
  control_channel_id: int,
  default_position: int
  ) -> TReturn:
  ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM