一、python指定参数类型是一个函数
在Python中指定参数类型是通过函数实现的,通常使用typing模块中的注释来说明参数的类型。
例如下面的代码中,注释说明了参数x的类型为int,y的类型为float,返回值的类型为str。
import typing def add(x: int, y: float) -> str: return str(x + y)
通过注释指定参数类型是一种较为常用的方式,但并不是Python强制执行的。
二、Python函数参数的四种类型
Python中函数参数有4种类型,分别是:位置参数、默认参数、关键字参数、可变参数。
1. 位置参数
位置参数就是以位置为依据来匹配参数值和形参,数量和位置都需要一一对应。
def foo(x, y): print(x, y) foo(1, 2) # 1 2
2. 默认参数
默认参数指在定义函数时给参数设定一个默认值,在函数调用时可以不传递这个参数。
def foo(x, y=2): print(x, y) foo(1) # 1 2 foo(1, 3) # 1 3
3. 关键字参数
关键字参数指在函数调用时使用关键字来指定参数值,可以不按顺序传递参数。
def foo(x, y): print(x, y) foo(y=2, x=1) # 1 2
4. 可变参数
可变参数指函数定义时不确定参数的个数,可以通过添加*args或**kwargs来处理。
def foo(*args): for arg in args: print(arg) foo(1,2,3,4) # 1 2 3 4 def bar(**kwargs): for k, v in kwargs.items(): print(k, v) bar(a=1, b=2, c=3) # a 1 b 2 c 3
三、Python指定数据类型
为了保证代码的可读性和健壮性,Python提供了指定数据类型和函数返回值的方法。
1. Python规定参数类型
可以通过声明函数参数的类型来规定参数的类型,例如下面的代码中,参数x和y分别规定为int类型和float类型。
def add(x: int, y: float) -> float: return x + y result = add(1, 2.0) print(result) # 3.0
2. Python怎么指定参数为列表
对于可变参数类型,可以使用List类型来规定参数为列表。
from typing import List def foo(xs: List[int]): for x in xs: print(x) foo([1, 2, 3])
四、Python参数类型
在Python中,常用的参数类型包括:整数型、浮点型、字符串型、列表型、元组型、字典型和布尔型。
1. 整数型
整数型即整数类型,使用int进行定义,例如下面的代码中的参数x的类型为整数型。
def foo(x: int): print(x) foo(1)
2. 浮点型
浮点型即小数类型,使用float进行定义,例如下面的代码中的参数y的类型为浮点型。
def foo(y: float): print(y) foo(1.23)
3. 字符串型
字符串型即字符串类型,使用str进行定义,例如下面的代码中的参数text的类型为字符串型。
def foo(text: str): print(text) foo('hello world')
4. 列表型
列表型即列表类型,使用List进行定义,例如下面的代码中的参数xs的类型为列表型。
from typing import List def foo(xs: List[int]): for x in xs: print(x) foo([1, 2, 3])
5. 元组型
元组型即元组类型,使用Tuple进行定义,例如下面的代码中的参数xy的类型为元组型。
from typing import Tuple def foo(xy: Tuple[int, float]): x, y = xy print(x, y) foo((1, 1.23))
6. 字典型
字典型即字典类型,使用Dict进行定义,例如下面的代码中的参数d的类型为字典型。
from typing import Dict def foo(d: Dict[str, int]): for k, v in d.items(): print(k, v) foo({'a': 1, 'b': 2})
7. 布尔型
布尔型即布尔类型,使用bool进行定义,例如下面的代码中的参数flag的类型为布尔型。
def foo(flag: bool): if flag: print('True') else: print('False') foo(True)
五、Python类的参数
Python类也可以使用注释来指定参数类型,例如下面的代码中,使用注释指定参数a和b的类型均为整数。
class Foo: def __init__(self, a: int, b: int): self.a = a self.b = b def add(self) -> int: return self.a + self.b f = Foo(1, 2) print(f.add()) # 3
六、Python的函数类型
Python中的函数类型包括普通函数、有返回值的函数、有注释的函数、匿名函数、装饰器函数等。
1. 普通函数
普通函数就是最常用的函数类型,例如下面的代码中的函数add就是普通函数。
def add(x, y): return x + y print(add(1, 2)) # 3
2. 有返回值的函数
有返回值的函数指在函数体中使用return语句返回结果的函数,例如下面的代码中的函数add就是有返回值的函数。
def add(x, y): return x + y print(add(1, 2)) # 3
3. 有注释的函数
在函数定义中,可以使用注释来指定函数的参数类型和返回值类型,例如下面的代码中的函数add就是有注释的函数。
def add(x: int, y: int) -> int: return x + y print(add(1, 2)) # 3
4. 匿名函数
Python中的匿名函数使用lambda关键字定义,例如下面的代码中的函数f就是一个匿名函数。
f = lambda x, y: x + y print(f(1, 2)) # 3
5. 装饰器函数
装饰器函数是一种高阶函数,用于对其他函数进行添加功能或修改行为,例如下面的代码中的函数log就是一个装饰器函数。
def log(func): def wrapper(*args, **kwargs): print('start at:', time.time()) func(*args, **kwargs) print('end at:', time.time()) return wrapper @log def add(x, y): print(x + y) add(1, 2)