学习视频地址:https://www.bilibili.com/video/BV1SE411N7Hi?p=49 以下内容仅供自己学习使用 #!/usr/bin/env python # -*- coding:utf-8 -*- def func(*args):#在形参的位置的*是聚合元组 打包,可以接受任意长度的参数 #等同于def func(a,b,c,d,e,f,……) 更方便 print(args) func(1,4,5,6,7,8,645,2,34,6,89,3) ''' *args: 接收多余的位置参数 **kwargs 接受多余的关键字参数 args和kwargs是程序员之间约定俗成的,可以更改名字,但是不建议更改 ''' def func(a,b,c,d,**kwargs): print(a,b,c,d,kwargs) func(a=1,b=2,c=3,d=4,e=5,f=6)#得到 1 2 3 4 {'e': 5, 'f': 6} def func (*args,**kwargs):#万能传参,形参部分是聚合 print(args,kwargs)#函数体中是打散 func(12,4,56,7,87,5454,a=12,b=34,g=345) #得到(12, 4, 56, 7, 87, 5454) {'a': 12, 'b': 34, 'g': 345} func (12,4,5,7,67,6,79898,56,57) #得到(12, 4, 5, 7, 67, 6, 79898, 56, 57) {} #参数混合 print("----参数混合-----") def func(a,b,c=1): print(a,b,c) func(12,13)#12,13,1 # def func(*args,a,b,c=1): # print(a,b,c) #func(12,13)#报错,遇到*args,全部接收,后面a,b没有 def func(a,b,c=1,*args): print(a,b,c,args) func(12,13)#12 13 1 () func(12,13,14)#12 13 14 () def func(a,b,*args,c=1,): print(a,b,args,c) func(12,13,14)#12 13 (14,) 1 #func(12,13,14,b=15)#报错,同一个变量名一次只能赋值一次,同时把13,15给了b #func(12,13,14,d=15)#报错没有d关键字 #a,b位置参数,args动态位置参数,c默认参数,kwargs动态关键字参数 def func(a,b,*args,c=1,**kwargs):#面试中会有,但是真正开发中不这么用 print(a,b,c,args,kwargs) func(12,13,14,d=15,e=20)#12 13 1 (14,) {'d': 15, 'e': 20} print("-------扩展--------") def func (*args,**kwargs):#万能传参,形参部分是聚合 print(args,*args,kwargs)#函数体中args是打散 func (12,4,5,7,67,6,79898,56,57) #得到 (12, 4, 5, 7, 67, 6, 79898, 56, 57) 12 4 5 7 67 6 79898 56 57 {} lst=[1,21,32,5,647,78,7,45,547,68,] dic={"key":1} func(*lst,**dic)#实参部分可以打散
python学习-day7_动态参数
最新推荐文章于 2024-08-10 10:46:00 发布
本文介绍了Python中动态参数的概念和使用,包括*args用于接收任意长度的位置参数,**kwargs用于接收任意长度的关键字参数。通过示例展示了如何定义和调用带有动态参数的函数,以及参数混合使用的情况。此外,还探讨了在实际开发中如何避免不推荐的动态参数使用方式。
摘要由CSDN通过智能技术生成