[英]How to type-hint non-basic parameters of a function?
在python3.6
假設您有一個具有 5 個 arguments 的 function。 A a string object, a list of string objects, argparse.Namespace
object, a pandas dataframe, and a logging.Logger
object.
如
def main(a_string, a_list, args, df, logger):
前兩個很簡單,但你如何投射最后兩個?
def main(a_string: str, a_list: List[str], args: ???, df: ???, logger: ???) -> str:
提前致謝!
for reference:
type(args) -> argparse.Namespace
type(logger) -> logging.Logger
如果我正確理解了您的問題,則與str
(類型)相同,即輸入類型:
def main(a_string: str, a_list: List[str], args: argparse.Namespace df: pandas.DataFrame, logger: logging.Logger) -> str:
雖然我通常會重構以避免長 arg 列表。 我不喜歡在我的 function 簽名中出現換行符。
如果您需要查找 object 的類型:
>>> type(logging.root)
logging.RootLogger
>>> type(logging.root).__bases__
(logging.Logger,)
正如 Kache 之前鍵入的那樣,這應該是正確的答案,但是在做這些事情時你必須關注兩件事:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.