当前位置: 代码迷 >> 综合 >> python的type hint类型注解 常用总结 | Pandas, Numpy, Union, Optional
  详细解决方案

python的type hint类型注解 常用总结 | Pandas, Numpy, Union, Optional

热度:77   发布时间:2023-12-21 13:37:34.0

type hint 类型注解: ?于IDE(如Pycharm) 形参的类型提示和检查,能指定参数的类型,函数的返回类型。

# 什么是type hint,及其作?参考链接: https://sikasjc.github.io/2018/07/14/typehint-in-python/
# 以下我罗列了每?个项?组成员可能涉及到的类型,给了相应的例?# str,int,返回值
# 函数foo的参数p1传?类型为str, 参数p2传?类型为int,函数的返回值类型为str
def foo(p1: str, p2: int) -> str:return 'hi'# list,tuple, set
# 函数foo的参数p1传?类型为list,并且列表内的每?个元素类型为int
# 参数p2传?类型为tuple,并且元组内的每?个元素类型为int
# 参数p3传?类型为set,并且集合内的每?个元素类型为str
# 函数没有返回值
from typing import List, Tuple, Set
def foo(p1: List[int], p2: Tuple[int], p3: Set[str]) -> None:print(p1)print(p2)print(p3)# bool,默认值,任意类型
# 函数foo的参数p1传入类型为bool,其默认值为True,参数p2传入类型可以为任意类型
from typing import Any
def foo(p1: bool = Ture, p2: Any) -> None:if p1:print(p2)# Union,当有多种可能的数据类型时使用
# 函数foo的参数p1传入类型可以为list,也可以为str
from typing import Union
def foo(p1: Union[list, str]) -> None:pass# Optional是Union的一个简化,当数据类型中有可能是None时,比如有可能是str也有可能是None,
# 则Optional[str], 相当于Union[str, None], 和函数有默认参数None有区别,不可省略默认参数None
from typing import Optional
def foo(p1: Optional[str] = None) -> str:return 'Geochemistry Py'# pandas.DataFrame, pandas.Series, numpy.ndarray
# 先使用pip install data-science-types
# 函数foo的参数p1传入类型为pandas.DataFrame,参数p2传入类型为pandas.Series, 
# 参数p3传入类型为numpy.ndarray
import pandas, numpy
def f2(p1: pandas.DataFrame, p2: pandas.Series, p3: numpy.ndarray) -> None:print(p1)print(p2)
  相关解决方案