本文主要是介绍python3.5 typing — 类型标注支持,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
函数接受并返回一个字符串,注释像下面这样:
def greeting(name: str) -> str:return 'Hello' + name
在函数 greeting
中,参数 name
预期是 str
类型,并且返回 str
类型。子类型允许作为参数。
1.1. 类型别名
型别名通过将类型分配给别名来定义。在这个例子中, Vector
和 List[float]
将被视为可互换的同义词:
from typing import List Vector = List[float]def scale(scalar: float, vector: Vector) -> Vector:return [scalar * num for num in vector]# typechecks; a list of floats qualifies as a Vector. new_vector = scale(2.0, [1.0, -4.2, 5.4])
类型别名可用于简化复杂类型签名。例如:
from typing import Dict, Tuple, ListConnectionOptions = Dict[str, str] Address = Tuple[str, int] Server = Tuple[Address, ConnectionOptions]def broadcast_message(message: str, servers: List[Server]) -> None:...# The static type checker will treat the previous type signature as # being exactly equivalent to this one. def broadcast_message(message: str,servers: List[Tuple[Tuple[str, int], Dict[str, str]]]) -> None:...
请注意,None
作为类型提示是一种特殊情况,并且由 type(None)
取代。
这篇关于python3.5 typing — 类型标注支持的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!