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

    一. 动态传参
      形参:
      1. 位置参数
      2. 默认值参数
      3. 动态传参
        1, *args: 动态接收位置参数
        2, **kwargs:动态接收关键字参数
      顺序: 位置, *args, 默认值, **kwargs    *, **:

      def func(*args, **kwargs): 无敌传参
        pass
        *, ** 在形参位置: 聚合
        在实参位置: 打散
    二,实参:
      1. 位置参数
      2. 关键字参数
      3. 混合参数

    三. 名称空间和作用域
      名称空间: 保存名字用的
      变量, 函数, 类

      1. 内置名称空间:python自己, print, input, len
      2. 全局名称空间: 你写的代码从上到下
      3. 局部名称空间: 函数, 类, 方法, 其他模块, 对象

    四,作用域
      全局作用域:
        内置 + 全局
      局部作用域:
        局部名称空间
      从局部找全局可以. 但是从全局找局部是不可以的

      globals() 查看全局作用域中的名字
      locals() 查看当前作用域中的名字

    五. 函数的嵌套(难点)
      每一层都会产生独自的名称空间
    六. nonlocal global
      global: 在局部引入全局的内容, 可以升华一个变量为全局变量
      nonlocal : 在局部, 引入上一层名称空间中的变量, 如果没有, 继续上一层......

  • 相关阅读:
    [CF1398E] Two Types of Spells
    [CF1399E2] Weights Division (hard version)
    [CF1400E] Clear the Multiset
    Review 2020.10.29
    Review 2020.10.11
    [CF1409F] Subsequences of Length Two
    [CF1413E] Solo mid Oracle
    [2020CCPC威海C] Rencontre
    [2020CCPC威海B] Labyrinth
    phpredis实现简单的消息队列
  • 原文地址:https://www.cnblogs.com/wm828/p/9879119.html
Copyright © 2011-2022 走看看