一、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)
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/246890.html
微信扫一扫
支付宝扫一扫