day10 Pyhton学习

一.昨日内容回顾

  函数:

    定义:对功能或者动作的封装

    def 函数名(形参):

      函数体

    函数名(实参)

    

    return:  返回,当程序运行到return的时候,终止函数的执行

    一个函数一定拥有返回值

      1.什么都不写,返回None

      2.只写return,返回None

      3. return 值,返回一个值

      4.return 值1,值2,值3...返回多个值

    参数:

      形参:

        在函数声明的位置的变量

        1.位置参数

        2.默认值参数

          顺序:位置>默认值

      实参:

        在函数调用的地方给出的值

        1.位置参数

        2.关键字参数

        3.混合参数

          位置参数>关键字参数

      传参:把实参赋值给形参的过程

二.今日主要内容

  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: 在局部,引入上一层名称空间中的变量,如果没有,继续上一层       

原文地址:https://www.cnblogs.com/pythonz/p/9879077.html