1.函数传递多余的位置参数----*args 保存为数组格式
传递多余的关键字参数------**kwargs 保存为字典格式
def test(x,*args,**kwargs): ###### return res test(1,2,3,4,a=3,b=4)
2.全局变量:在函数之前定义的变量(顶头写的),在所有函数中都可以调用
局部变量:在函数内部定义的变量(有缩进),只能在本函数内部调用
3.在函数内部改全局变量只需要在函数内部定义变量时加上修饰global,要写在最前边
name = "xiaohua" def change_name(): global name name = "xiaohei" print(‘change_name‘,name) change_name() print(name) change_name xiaohei xiaohei
如果函数的内容无global关键字,优先读取局部变量,能读取全局变量,无法对全局变量重新赋值,但是对于可变类型,可以对内部进行操作
如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值
name = ["小红","小黑"] def a(): name1 = "小胖" print(name1) print(name) def b(): global name name.append("小黄") print(name) a() b()
4.当代码开始运行时,遇到函数只编译不运行
name = "刚娘" def weihou(): name = "陈卓" def weiweihou(): global name name = "冷静" weiweihou() print(name) print(name) weihu() print(name) #刚娘 #陈卓 #冷静 #函数运行顺序: 1 12-1 刚娘 4 8 6-1 改为冷静 7 9-4 陈卓 14-1 冷静
5.nonlocal与global类似,不过它指的是上一级的变量
原文地址:https://www.cnblogs.com/kedaxiaohei/p/10046466.html
时间: 2024-10-04 23:07:21