zoukankan      html  css  js  c++  java
  • 函数进阶

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

    复制代码
    位置  关键字 动态位置  动态关键字
    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 改变最近的父级变量, 如果上级没有能够改变的就继续向上走,直到最外层函数就停止了.
    
    函数: 将一个需求封装后调用,优点:除去重复代码.
  • 相关阅读:
    Java Lambda表达式初探
    解开lambda最强作用的神秘面纱
    常用正则表达式
    js,java时间处理
    Java 8新特性探究(二)深入解析默认方法
    Java 8里面lambda的最佳实践
    lambda表达式和闭包
    Lambda语法篇
    lambda表达式
    依赖注入和控制反转的理解
  • 原文地址:https://www.cnblogs.com/hard-up/p/10054345.html
Copyright © 2011-2022 走看看