网站制作学习网Python→正文:python函数指定多种类型参数
字体:

python函数指定多种类型参数

Python 2024/6/29 20:23:27  点击:不统计

原载于:转www.载for网站制作学习asp必.cn究
 python 在定义函数时最好指定参数类型,以及输出类型。但如果参数类型时多种情况下怎么定义,下面说一下:

 
简单直接定义
# 返回两个数的和
def add(a: int, b: int) -> int:
    return a + b
 
# 这里面a: int 后面的int 时方便使用函数时的提示
 
print(add(1, 2)) # 这里会输出3
# 如果时浮点数,虽然上面定义是要int形式的参数,实际是提示,并不是强制的。
print(add(1.1, 2.2)) # 输出 3.30000000000 。这种情况可以通过mypy进行检查。
 
 
通过函数形式判断,修改函数
 
def add(a: int, b: int) -> int:
    if not isinstance(a, int) or not isinstance(b, int):
# 这种判断只有在实际调用中才提示错误
        raise TypeError("add: a and b must be integers") 
    return a + b
 
print(add(1.1, 2.2))
 
 
那如何通过 int float 两种形式的变量呢,这里就引入了 Union
 
from typing import Union
 
 
def add(a: Union[int, float], b: Union[float]) -> Union[int,float]:
    return a + b
 
 
# 定义传入的参数类型为Union,即里面的任何一种,上面支持int 和 float 两种
print(add(1, 2))
print(add(1.1, 2.2))
 

还可以通过自定义参数形式
from typing import Union
 
int_float_type = Union[int,float]
 
def add(a: int_float_type, b: int_float_type) -> int_float_type:
    return a + b
 
这样就可以有多种参数形式了
 
 
还有一种多参数形式定义
 
from typing import List
 
arg_type = int | float
 
int_float_list = List[arg_type]:[1,2,3] # 这样就定义了一个对应类型的列表

原载于:网f站o学a习s制p作.cn

·上一篇:python 异常自检查程序 >>    ·下一篇:python 代码分析优化工具有哪些 >>
推荐文章
最新文章