标签:highlight 表示 苹果 bsp oca def int 参数 位置
一动态传参
1动态传参,可以接受任意的参数
顺序: 位置参数 *args 默认值 **kwargs
1位置参数的动态传参 写法*参数名 例如 *args 接受的参数是tuple
# def eat(*good): #动态传参,可以接受多个实参
#     print(good)
# eat("可乐","麻辣烫","火锅")
# eat("麻辣烫")   #接受的是元祖,括号里面的元素每个用逗号隔开
2关键字参数的动态传参, 写法 ** 参数名 例如**keargs 接受的参数是dict类型
# def eat(**kwargs): #接受的是关键字参数,也可接受多个传参 # print(kwargs) # eat(good="麻辣烫,盖浇饭",fruit="苹果",drink="七喜") #字典
3 无敌传参
def fun(*args,**keargs):
pass
# def rat(*args,**kwargs):#接受的是位置参数跟关键字参数 # print(args,kwargs) # rat(1,6,65,95+9,a=6,n=6) #打印的是元祖加字典
*,**的作用:
在形参:聚合
def fun(**kwargs):  #吧打散的在聚合
    print(kwargs)
dic={"a":[1,2,3],"b":2}
fun(**dic)  # 吧字典打散
二 作用域的问题
1.globals()获取全局作用域的内容
2.locals()获取局部作用域中的内容
# a = 10
# def func():
#     global a # 这里用的a是全局的
#     a = 20
#     print(a)
# func()
# print(a)    # 20
a = 10
def func1():
    a = 20
    print(a)
    def fun2():
        nonlocal a # 上一级, 且不能是全局
        a = 30
        print(a)
    fun2()
    print(a)
func1()
print(a)
三 函数嵌套-函数的执行流程
所有的()表示的是函数的调用
# def fun1():
#     print(111)
#
# def fun2():
#     print(222)
#     fun1()
#
# fun2()
# print(333)
# def fun2():
#     print(222)
#     def fun3():
#         print(666)
#     print(444)
#     fun3()
#     print(888)
#
# print(33)
# fun2()
# print(555)
# def func():
#     print("哈哈哈")
# a = func # 函数可以赋值 .相当于. a和func是一回事儿
# func()
# a()
四 global和nonlocal
1global:寻找全局作用域中的内容
# a = 10 # def func(): # global a # 这里用的a是全局的 # a = 20 # print(a) # func() # print(a) # 20
2nonlocai:寻找上一级作用域中的内容,但不能是全局的
a = 10
def func1():
    a = 20
    print(a)
    def fun2():
        nonlocal a # 上一级, 且不能是全局
        a = 30
        print(a)
    fun2()
    print(a)
func1()
print(a)
五额外追加的内容 命名空间
a = 10  # 全局
def func(): # 全局
    a = 40  # 局部
    b = 20  # 局部
    def abc():  # 局部
        d = 30 # 是局部
        print("哈哈")
        print(a, b) # 这?使?的是局部作?域
        print(locals())
    abc()
    # print(globals()) # 打印全局作用域中的内容
    # print(locals()) # 打印局部作用域中的内容,locals()打印当前这个函数局部作用与中的内容
func()
print(globals())
# print(globals()) # 打印全局作用域中的内容
标签:highlight 表示 苹果 bsp oca def int 参数 位置
原文地址:https://www.cnblogs.com/daien522556/p/9172970.html