背景
最近开始用Python
来刷Leetcode
了,在刷基础题目《2236. 判断根结点是否等于子结点之和: 链接》,发现他给的函数参数里,有一个Optional[TreeNode]
,这一下给我整懵了,我就去搜了搜Python typing 模块中Optional是用来干什么的?
解释
在 Python
的 typing
模块中,Optional
是用来表示一个类型可以是特定类型或者 None
的类型提示。
举例说明
from typing import Optional
def process_value(value: Optional[int]) -> None:
if value is not None:
print(f"The value is {value}.")
else:
print("No value provided.")
在上述代码中,process_value 函数接受一个可选的整数参数。如果调用这个函数时传入一个整数,函数会打印出这个整数的值;如果传入 None,函数会打印出提示信息。
好处
使用 Optional 可以提高代码的可读性和可维护性,让其他开发者更容易理解函数或变量可能接受的值的范围。