函数参数相关整理

 1 def func(a,*args,b=1,**kwargs):    #形参部分
 2 # a是位置参数,b是默认参数,*args接收除关键字参数以外所有数据..**kwargs可接收除对应关键字参数以外所有数据.
 3 # def func(*args,**kwargs):         #万能接收
 4     '''
 5     :param      args:要标识的内容
 6     :param      kwargs:要标识的内容
 7     :return     :要标识的内容
 8     '''
 9     print(a)                                        #位置参数,可放任何数据类型
10     print(*args)                                    #打散元组或列表类型为单独数据
11     print(args)                                     #args接收数据以元组形式
12     print(b)                                        #关键字参数,修改值
13     print(*kwargs)                                  #打散关键字参数,(字典的键)单独数据
14     print(kwargs)                                   #关键字参数,按字典方式输出{'d': 2, 'c': 1, 'e': 5}
15 func({1,2,3,4},[1,3,4,6,8],2,5,b=8,d=2,c=1,e=5)     #参数顺序:位置参数,动态位置,关键字参数,动态关键字

结果对照:

1 {1, 2, 3, 4}
2 [1, 3, 4, 6, 8] 2 5
3 ([1, 3, 4, 6, 8], 2, 5)
4 8
5 d c e
6 {'d': 2, 'c': 1, 'e': 5}

声明局部变量和全局变量:

 1 def func():
 2     global a                #global直接将变量提到全局,不影响上一层同名变量..全局变量在局部作用域中使用时,只可被访问无法被修改
 3     a = 20
 4     b = 20
 5     def func1():
 6         nonlocal b              #nonlocal修改离它最近的局部变量(非全局,否则报错)
 7         b = 10
 8     func1()
 9     print(b)
10     print(locals())         #locals()查看当前作用于的所有变量和方法
11 func()                  #globals()查看全局作用域的的变量和方法
12 print(a)

结果对照:

1 10
2 {'func1': <function func.<locals>.func1 at 0x00000138459C87B8>, 'b': 10}
3 20

 

转载于:https://www.cnblogs.com/NoteBook3013/p/10245512.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值