编程语言
首页 > 编程语言> > Python - typing 模块 —— Optional

Python - typing 模块 —— Optional

作者:互联网

前言

typing 是在 python 3.5 才有的模块

 

前置学习

Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html

 

常用类型提示

https://www.cnblogs.com/poloyy/p/15150315.html

 

类型别名

https://www.cnblogs.com/poloyy/p/15153883.html 

 

NewType

https://www.cnblogs.com/poloyy/p/15153886.html

 

Callable

https://www.cnblogs.com/poloyy/p/15154008.html

 

TypeVar 泛型

https://www.cnblogs.com/poloyy/p/15154196.html

 

Any Type

https://www.cnblogs.com/poloyy/p/15158613.html

 

Union

https://www.cnblogs.com/poloyy/p/15170066.html

 

Optional

可选类型

 

和默认参数有什么不一样

# 可选参数
def foo(arg: int = 0) -> None:
    ...


# 不传 arg 默认取 0
foo()

 

重点

 

实际栗子

def foo_func(arg: Optional[int] = None):
    print(arg)


foo_func()
foo_func(1)


# 输出结果
None
1

 

使用默认参数的写法

def foo_func(arg: int = None):
    print(arg)


foo_func()
foo_func(1)


# 输出结果
None
1

这种写法,Pycharm 并不会 warning

 

标签:www,cnblogs,Python,None,html,https,typing,poloyy,Optional
来源: https://www.cnblogs.com/poloyy/p/15170297.html