如何在python3中对一个可选参数初始设置为None的函数进行类型检查?

2024-04-25 03:54:42 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在具有可选参数的函数中使用类型检查?例如:

def do_something_cool(number1: int, letter1: str, seed=None: (None, int) )-> str:
    return 

将因(None, int)而失败。正确的语法是什么?你知道吗


Tags: 函数none类型参数returndef语法do
1条回答
网友
1楼 · 发布于 2024-04-25 03:54:42

对于大多数类型检查器,以下工作方式不会显式说明该值不可使用:

def do_something_cool(number1: int, letter1: str, seed: int = None) -> str:
    return 

但是,也可以显式指定该值不可为:

from typing import Optional

def do_something_cool(number1: int, letter1: str, seed: Optional[int] = None) -> str:
    return

这里有一个很大的警告:typing.Optional实际上意味着不可并且与您的值有一个默认值这一事实无关(因此它并不意味着“可选”)。见this discussion。记住它的一种方法是认为Optional应用于类型,而不是值。你知道吗

PEP484以前建议隐式编写,但现在建议显式声明Optional何时值不可。见here。你知道吗

相关问题 更多 >