如何对 python3 中的函数进行类型检查,该函数的可选参数最初设置为 None?

How to type check a function in python3 that has an optional argument initially set to None?

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

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

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

对于大多数类型检查器,以下工作无需明确说明该值是无效的:

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 实际上意味着 Nonable 并且与您的值具有默认值这一事实无关(因此它并不意味着 "optional").参见 this discussion。记住它的一种方法是将 Optional 视为应用于类型,而不是值。

PEP484 was previously recommending the implicit writing, but now recommends that you explicitly states Optional when your value is Nonable. See here.