📜  任何 python 类型提示 - Python (1)

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

任何 Python 类型提示 - Python

Python 3.5 引入了类型提示(Type Hints)这个新特性,可以标注代码中变量、函数参数以及函数返回值的类型。Python 的类型提示语法使用 -> 进行类型注解表示。

变量类型提示
a: int = 1
b: str = 'hello'
c: list = [1, 2, 3]
函数参数类型提示
def add(a: int, b: int) -> int:
    return a + b

result = add(1, 2)

注:类型提示只是建议,Python 解释器依然会接受任何类型的实参。

函数返回值类型提示
def say_hello(name: str) -> str:
    return f'Hello, {name}!'

greeting = say_hello('world')

注:类型提示同样只是建议,函数的实际返回值类型可能与提示可能并不一致。

自定义类型提示

自定义类型提示需要通过类型别名实现。

# 定义类型别名
from typing import List, Dict

UserId = str
UserList = List[UserId]
UserDict = Dict[UserId, str]

# 使用类型别名
def get_user_names(users: UserList, user_info: UserDict) -> List[str]:
    user_names = [user_info[user_id] for user_id in users]
    return user_names
泛型类型提示

泛型类型提示用于表示参数或返回值是可变类型。

# 表示返回值是列表,列表元素为任意类型
from typing import List, TypeVar

T = TypeVar('T')
def make_list(item: T) -> List[T]:
    return [item]

str_list = make_list('hello')
num_list = make_list(1)

以上是 Python 中类型提示的用法,通过类型提示提高代码的可读性和可维护性,尤其在项目开发大型代码时更为重要。