不会编程的小卜
人生没有白走的路,每一步都算数

函数进阶

动态位置参数以及动态关键字参数:

位置  关键字 动态位置  动态关键字
def
func(a,*args,b,**kwargs): print(a,b,args,kwargs) func(1,2,3,4,bb=1,cc=3,)

 函数:

        动态:

            动态位置参数  *args

            动态关键字参数 **kwargs

        位置 > 动态位置参数 > 默认(关键字)参数 > 动态关键字参数

函数的嵌套:

def f():
#     a = 10
#     print(a)
#     def f1():
#         b = 20
#         print(b)
#     f1()
# f()

局部空间:

def func():  # 函数里的是局部空间
#     b = 5
#     print(b)

#print()     #内置的就是python本身自带的东西
# input()     #内置python本身自带的东西

print(locals())  # 查看局部作用域中的变量和内容
print(globals())   # 查看全局作用域中的变量和内容

名称空间:

2. 名称空间:

    局部命名空间
    全局命名空间
    内置命名空间


    加载顺序:

        内置 > 全局 > 局部

    取值顺序:

        局部 > 全局  > 内置

    作用域:

        全局作用域:

            内置 + 全局

        局部作用域:

            函数局部

global与nonlocal:

global:
可变数据类型在函数中可以直接操作,不可变数据类型才需要使用global
nonlocal:
nonlocal 改变最近的父级变量, 如果上级没有能够改变的就继续向上走,直到最外层函数就停止了.

函数: 将一个需求封装后调用,优点:除去重复代码.

 

posted @ 2018-11-01 20:58  不会编程的小卜  阅读(104)  评论(0编辑  收藏  举报