📜  python类型提示类列表 - Python(1)

📅  最后修改于: 2023-12-03 15:04:41.658000             🧑  作者: Mango

Python类型提示类列表

类型提示是Python 3.5引入的一个新特性,它可以显式地指定函数和方法的参数和返回值的类型信息,使得代码更加易于阅读和维护。Python类型提示可以通过注释或函数签名来实现,比如:

def greet(name: str) -> str:
    return f"Hello, {name}!"

上面的例子中,函数greet的参数name和返回值都是字符串类型。在注释中使用类型提示时,需要在变量或函数名后加上冒号和类型名,例如name: str。如果函数的返回值是None,可以使用特殊的类型名None,例如def func() -> None:。下面是一些常见的数据类型及其类型名:

| 数据类型 | 类型名 | | --- | --- | | 整数 | int | | 浮点数 | float | | 布尔值 | bool | | 字符串 | str | | 列表 | List | | 元组 | Tuple | | 字典 | Dict | | 集合 | Set |

除了以上数据类型,Python还支持自定义类。如果要对自定义类进行类型提示,可以使用类名来指定类型。下面是一个例子:

class Person:
    def __init__(self, name: str, age: int) -> None:
        self.name = name
        self.age = age

    def greet(self) -> str:
        return f"Hello, my name is {self.name}. I am {self.age} years old."

上面的例子中,类Person有两个属性nameage,它们分别是字符串和整数类型。类中还有一个方法greet,返回一个字符串类型。在类中使用类型提示时,需要在属性或方法名后加上冒号和类型名,例如name: strgreet() -> str

除了以上数据类型,Python还支持一些其他的类型提示,下面是一些例子:

  • Union[T1, T2, ...]:表示参数或返回值可以是多个类型中的任意一个,例如Union[int, float]表示参数可以是整数或浮点数。
  • Any:表示参数或返回值可以是任意类型,等价于不使用类型提示,例如def func(x: Any) -> Any: return x
  • Optional[T]:表示参数或返回值可以是类型TNone,等价于Union[T, None],例如def foo(x: Optional[int]) -> Optional[str]:

使用类型提示可以使代码更加健壮和易于阅读,也便于IDE进行代码补全和提示。但是在使用类型提示时需要保证自己熟悉各种数据类型及其用法,防止出现类型错误导致程序崩溃。