当前位置: 首页 > 图灵资讯 > 行业资讯> Python:函数参数类型和排序的总结

Python:函数参数类型和排序的总结

发布时间:2025-04-06 15:41:18

Python中函数的参数问题有点复杂,主要是因为参数类型问题引起的情况比较多,下面就来分析一下。

参数类型:缺失参数、关键字参数、不定长位置参数、不定长关键字参数。

事实上,由于位置参数被放置在list中,关键字参数被放置在dict中,Python在解读时首先处理list,并且在没有遇到关键字的情况下将append放入list中,当遇到关键字时,就开始dict,直到结束,因此,位置参数必须放在关键字参数前面。

以下是三个模型的总结:

1:没有缺省函数:

deftest(a,*args,c,d=3,**kwargs):
print(a)
print(args)
print(c)
print(d)
print(kwargs)
test(1,2,3,4,c=1,d=4,e=11,f=22)

运行结果:

1
(2,3,4)
1
4
{'e':11,'f':22}

2:存在遗漏参数,参数取默认值,(遗漏参数放在args后面)*

deftest(a,*args,b=1,c,d=3,**kwargs):
print(a)
print(args)
print(b)
print(c)
print(d)
print(kwargs)
test(1,2,3,4,c=1,d=4,e=11,f=22,h=66)

运行结果:

(2,3,4)
1
{'e':11,'f':22,'h':66}

3:存在缺省参数,参数不取默认值,(缺省参数放在args前面)*

deftest(a,b=1,*args,c,d=3,**kwargs):
print(a)
print(b)
print(args)
print(c)
print(d)
print(kwargs)
test(1,2,3,4,c=1,d=4,e=11,f=22,h=66)

运行结果:

1
2
(3,4)
1
4
{'f':22,'e':11,'h':66}

总结:

从上面也可以看出,基本顺序是位置参数--->关键字参数,然后是缺失参数 *args前后的问题。

还有一点,前面说过,关键词参数保存为字典类型,即无序,但是 **kwargs 需要放在最后!

python培训视频众多,全部在python学习网,欢迎在线学习!

本文转自:https://www.jianshu.com/p/625a400b563d

相关文章

如何让vim支持python3

如何让vim支持python3

2025-09-12
python2.7和3.6区别有哪些

python2.7和3.6区别有哪些

2025-09-12
python3有serial库吗

python3有serial库吗

2025-09-12
python中w、r表示什么意思

python中w、r表示什么意思

2025-09-12
python中如何把list变成字符串

python中如何把list变成字符串

2025-09-12
python命名空间是什么

python命名空间是什么

2025-09-12