Typing

Typing库(类型标注)

使用typing库最常见的方法是在定义函数或变量时可以标注变量或参数的类型(类似java),下面f函数的调用就要求输入参数a和b分别是str和int

def f(a: str, b:int) -> str:
    return a * b

类型别名

要定义一个类型别名,可以将一个类型赋给别名。类型别名可用于简化复杂类型签名,在下面示例中,Vector 和 list[float] 将被视为可互换的同义词:

from typing import List

Vector = List[float]

def scale(scalar: float, vector: Vector) -> Vector: 
    return [scalar * num for num in vector] 
new_vector = scale(2.0, [1.0, -4.2, 5.4])

# 输出 [2.0, -8.4, 10.8]

NewType创建类型

NewType() 是一个辅助函数,用于向类型检查器指示不同的类型,在运行时,它返回一个函数,该函数返回其参数。

import typing

Id = typing.NewType("Id", int)
a = Id(2020)

回调(callable)

将回调函数类型标注为 Callable[[Arg1Type, Arg2Type], ReturnType]

from typing import Callable

def f(a: int) -> str:
    return str(a)

def callback(a: int, func: Callable[[int], str]) -> str:
    return func(a)

print(callback(1, f))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值