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

        1. 动态传参(重点)  *, **
            *, ** :
                形参: 聚合
                    位置参数* -> 元组
                    关键字** -> 字典
                实参: 打散
                    列表, 字符串, 元素 -> *
                    字典 -> **
            形参顺序(重点):
                位置, *args, 默认值, **kwargs
            无敌传参
            def func(*args, **kwargs): arguments参数  keyword-arguments关键字参数
                pass
        2. 作用域和名称空间
            名称空间: 用来存放名字(变量, 函数名, 类名, 引入的模块名)的
            1. 全局名称空间: 我们在py文件中自己写的变量, 函数.....
            2. 内置名称空间: 我们python解释器提供好的一些内置内容(print, input....)
            3. 局部名称空间: 在我们执行函数的时候.会产生一个局部名称空间. 放的是: 函数内部的内容(变量, 函数,类...)
            名称空间可能会有无数个, 局部名称空间而言. 相对是独立的.一般互不干扰
            作用域:
                1. 全局作用域: 内置+全局
                2. 局部作用域: 局部
            globals() 查看全局作用域
            locals() 查看当前作用域
        3. 函数的嵌套
            在函数中声明函数
            在内部函数中使用变量的时候, 查找顺序: 先找自己 -> 上一层 -> 上一层..全局 -> 内置
        4. nonlocal和global关键字(重点)
            global: 在局部引入全局变量
            nonlocal: 在局部...内层函数引入外层离他最近的那个变量.
  • 相关阅读:
    poj2187 Beauty Contest 旋转卡壳
    2017/8/6 考试吐槽
    bzoj2618 凸多边形 半平面交
    cogs1600 奶牛冰壶 计算几何
    cogs896 圈奶牛 凸包
    cogs1743 忠诚 zkw
    BZOJ 3224 普通平衡树 平衡树的两种姿势:SBT,splay。01trie
    BZOJ 3196 二逼平衡树
    BZOJ 1901 Dynamic Rankings
    BZOJ 4325[NOIP2015]斗地主
  • 原文地址:https://www.cnblogs.com/wangm-0824/p/10110484.html
Copyright © 2011-2022 走看看