编程语言
首页 > 编程语言> > python-typing&type hint

python-typing&type hint

作者:互联网

python是动态语言,不用声明类型

# 不使用类型提示

def func(a,b):
  return a+b

func('1','1') # '11'
func(1,1)     # 2
func('1',1)   # 未使用类型提示,代码编辑时不会报错,代码执行时会报错

# 使用类型提示
from typing import overload

@overload
def func(a: int, b: int): pass

@overload
def func(a: str, b: str): pass

def func(a, b):
    return a + b

func(1, '1')  # 使用类型提示,在代码编辑时就会报错,可以在代码执行前预防可能出现的问题

type hint

提示类型并不是可用类型,如typing.List并不是list的子类,typing.List只是一个type hint,对a参数指定一个type hint,这个type hint会被设置为func方法a入参的type hint属性,执行代码不会其任何作用,但是执行代码过程中可以获取到这个type hint属性,并使用它做一些处理

常见type hint

每个实际类型都可以声明一个对应的泛型,可以使用实际了类型做type hint,所以很多时候都是直接用实际类型做typehint

typing.Generic

标签:hint,python,类型,func,typing,泛型,type
来源: https://www.cnblogs.com/bonus_scene/p/15187506.html