Python函数指定必须带形参传递

Python 函数指定参数必须带形参传递

可能大家看到这个标题很难理解是什么意思,这里给大家解释一下,就是我们定义函数的时候,会用形参的设置,有时候呢,我们只需要按照顺序传递值就行,不需要在传递的时候指定形参的名字,但是有时候公司要求必须带,但是有的人忘记了怎么办?那么python其实是可以做到不传递就报错的,那么一起来看看怎么实现吧!

代码解释

1
2
3
4
5
def test(t,y):
return t,y

result=test(1,2)
print(result) # (1, 2)

这里呢就是虽然我们设置了形参t, y 但是你传递的时候可以只是按照顺序即可,无需使用test(t=1,y=2)的方式,那么python如何强制使用呢?

1
2
3
4
5
def test(*,t,y):
return t,y

result=test(1,2)
print(result)

此时你发现,我在函数定义的时候加了一个*,那么python 就会要去你必须在调用函数的时候带上形参要不然就报错,运行结果如下:

1
2
3
4
5
ERROR!
Traceback (most recent call last):
File "<main.py>", line 4, in <module>
TypeError: test() takes 0 positional arguments but 2 were given

那么我们来修改这个,让其正确运行!

1
2
3
4
5
def test(*,t,y):
return t,y

result=test(t=1,y=2)
print(result) # (1, 2)

那么,这样就可以了!python实现起来就是这么的简单方便!

总结

在我们平常要求中可能会有类似的,如果你知道了这个,就无需在注释中强调编码风格,这样就可以强制其他同事按照这个方式实现!


Python函数指定必须带形参传递
https://dreamshao.github.io/2024/08/28/python指定参数/
作者
Yun Shao
发布于
2024年8月28日
许可协议