Python中函数传参的几种实现方式!
Python中函数传参的几种实现方式!
作者:XuMeng_first
这篇文章主要介绍了Python中函数传参的几种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教。
1.位置传参
实参与形参的位置数量一致
1
2
3
4
5
|
def foo(a,b): #形参 print (a) if __name__ = = '__main__' : foo( 1 , 2 ) #实参 |
2.关键字传参
关键字传参是指使用形参的名字来确定输入的参数。
通过该方式指定实参时,不需要与形参位置一致,只要参数名称写正确即可
1
2
3
4
5
6
7
8
9
10
|
def foo(a,b): print (f "a是{a},b是{b}" ) if __name__ = = '__main__' : foo(b = 1 ,a = 2 ) #结果 a是 2 ,b是 1 |
3.默认传参
调用函数时,如果没有指定某个参数将抛出异常,即在定义函数时,直接指定形式参数的默认值。
这样,当没有传入参数时,则直接使用定义函数时设置的默认值。
语法格式如下:
1
2
3
4
5
|
def foo(a,b,c = "我是默认参数" ): print (f "a是:{a},b是:{b},c是:{c}" ) if __name__ = = '__main__' : foo(b = 1 ,a = 2 ) |
4.可变参数传参(*args,**kwargs)
--也可以叫不定长参数
- 1.*args可以接收任意长度的位置参数
- 2.**kwargs可以接收任意长度的关键字参数
- 3.*args和**kwargs同事使用时,*args(位置参数)在前,**kwargs(关键字)参数在后。
形参为可变参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
def foo( * args, * * kwargs): print ( "Positional arguments:" ) print ( type (args)) for arg in args: print (arg) print ( "\nKeyword arguments:" ) print ( type (kwargs)) for key, value in kwargs.items(): print (key + ": " + str (value)) if __name__ = = '__main__' : a = foo( 1 , 2 , 3 , 4 , 5 ,name = "tom" ,age = 18 ) help (foo()) |
实参为可变参数
1
2
3
4
5
6
7
8
9
10
11
12
|
def foo(a,b,name,age): print (a,b,name,age) if __name__ = = '__main__' : a = [ 1 , 2 ] b = { "name" : "tom" , "age" : 18 } c = foo( * a, * * b) #结果 1 2 tom 18 |
实参和形参都为可变参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
def foo( * args, * * kwargs): print ( "Positional arguments:" ) print ( type (args)) for arg in args: print (arg) print ( "\nKeyword arguments:" ) print ( type (kwargs)) for key, value in kwargs.items(): print (key + ": " + str (value)) if __name__ = = '__main__' : a = [ 1 , 2 , 3 , 4 , 5 ] b = { "name" : "tom" , "age" : 18 } a = foo( * a, * * b) |
总结
以上为个人经验,希望能给大家一个参考。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论