[英]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.