zoukankan      html  css  js  c++  java
  • day 11函数参数,名称作用域。

    1. 动态传参
            形参:
                1. 位置参数
                2. 默认值参数
                3. 动态传参
                    1 *args: 动态接收位置参数
                    2 **kwargs:动态接收关键字参数
                    顺序: 位置, *args, 默认值, **kwargs
                    *, **:
                        def func(*args, **kwargs): 无敌传参
                            pass
                        *, ** 在形参位置: 聚合
                              在实参位置: 打散
            实参:
                1. 位置参数
                2. 关键字参数
                3. 混合参数
        2. 名称空间和作用域
            名称空间: 保存名字用的
                 变量, 函数, 类
            1. 内置名称空间:python自己, print, input, len
            2. 全局名称空间: 你写的代码从上到下
            3. 局部名称空间: 函数, 类, 方法, 其他模块, 对象
            作用域
                全局作用域
                     内置 + 全局
                局部作用域
                     局部名称空间
                从局部找全局可以. 但是从全局找局部是不可以的
                globals()  查看全局作用域中的名字
                locals() 查看当前作用域中的名字
        3. 函数的嵌套
             每一层都会产生独自的名称空间
        4. nonlocal global
            global: 在局部引入全局的内容,  可以升华一个变量为全局变量
            nonlocal :  在局部, 引入上一层名称空间中的变量, 如果没有, 继续上一层
  • 相关阅读:
    leetcode-344-反转字符串
    leetcode-136-只出现一次的数字
    leetcode-350- 两个数组的交集 II
    leetcode-36-有效的数独
    leetcode-283-移动零
    leetcode-387-字符串中的第一个唯一字符
    leetcode-242-有效的字母异位词
    HDU 2612
    Codeforces 1090B
    Codeforces 1090D
  • 原文地址:https://www.cnblogs.com/liuteacher/p/9892341.html
Copyright © 2011-2022 走看看