标签:print 合成 highlight list func 字典 相互 传值 默认值
1 函数的动态参数
1 *args位置参数动态传参 *在这里表示接收位置传参的动态传参,接收到的是元组
def chi(*food): #参数名:food *表示动态传参
print(food)
chi("菜花","馒头","花卷","小吃")
结果:(菜花,馒头,花卷,小吃)
2 **kwargs关键字参数动态传参
def chi(**food) **关键字传参 food是参数名
print(food)
chi(冰淇淋="哈根达斯",零食="辣条",小吃="香肠")
结果:{冰淇淋:"哈根达斯",零食:"辣条",小吃:"香肠"} 结果是形成字典
顺序:位置参数,*args,默认值,**kwargs
def func(a,*args,c=6,**kwargs)
print(a,args,c,kwargs)
fun(2,12,23,c=4,哈哈="呵呵",多的="道德")
结果:2 (12,23),{哈哈:"呵呵",多的:"道德"}
形参的位置*,**,聚合
def func(*food): 形参 聚合,位置参数 print(food) lst =["鸡蛋","黄瓜","苹果"]
fun(*lst) 实参 打散 把list,tuple,set,str进行迭代打散
形参: 位置参数 按位置传参
默认参数 放在后面
动态参数 *args(形成元组) **kwargs(形成字典)
实参的位置*,**,打散
def func(**kwargs): 形参 聚合成关键字实参
print(kwargs)
dic ={name:"alex",age:18}
func(**dic) 实参 打散成关键字
实参: 位置参数 按形参的位置传值
关键字参数 按形参的关键字传值
混合参数(位置在前,关键字在后)
2 命名空间
1 内置名称空间
2 全局名称空间
3 局部名称空间
a =10 全局名称空间中的内容
def fn(): fn 也在全局名称空间
b=20 局部名称空间
print(a)
def gn():
print(a)
fn()
gn()
作用域
1 全局作用域:内置+全局
2 局部作用域 局部(函数被调用时)
globals()查看全局中的内容
a=110
def fn():
b =20 局部
def gn(): 局部
print(globals()) 可以查看全局作用域中的内容
print(locals()) 查看当前作用域中的内容
gn()
fn()
locals()查看当前作用域中的内容
3 函数的嵌套
def outer():
print("哈哈")
def inner_1():
print("呵呵")
def inner_1_1():
print("嘻嘻")
inner_1_1()
print("哄哄")
def inner_2():
print("嘿嘿")
inner_2()
inner_1()
outer()
结果:哈哈
嘿嘿
呵呵
嘻嘻
哄哄
函数可以相互嵌套
4 global和nonlocal关键
global:在局部访问全局中的内容
nonlocal:在局部寻找外层函数中里他最近的那个变量
a=10
def global a 作用:1 可以把全局中的内容引入到函数内部 2 在全局创建一个变量
a=10
a+=10
print(a)
a =10
def outer():
def inner():#inner中改变a的值
nonlocal a 寻找外层函数中离他最近的那个变量
a=20
inner()
outer()
标签:print 合成 highlight list func 字典 相互 传值 默认值
原文地址:https://www.cnblogs.com/mlhz/p/9449525.html