day_11

上节课回顾

函数的定义

函数定义阶段只检测语法,不执行代码

def 函数名():
    代码块

函数的三种定义方式

空函数

def func():
    pass

有参函数

def func(x,y):
    代码块

无参函数

def func():
    代码块

函数的返回值

  1. return可以返回值,默认返回None,return后面不加东西也返回None
  2. return可以终止函数,有多个return,执行到第一个就结束
  3. return可以返回多个值,以元组形式返回

函数的调用

函数调用就会执行代码

函数名()

函数的参数

形参

接收实参,具有描述意义

位置形参

从左到右依次接收位置实参

默认形参

  1. 具有默认值,如果传参,使用传参的值
  2. 默认形参必须在位置形参后面

实参

具体的值,传参给形参

位置实参

从左到右依次传参给位置形参

关键字实参

  1. 按照形参名传参
  2. 必须在位置实参后面

今日所学

可变长参数

*

*形参

用元组接收多余的位置实参

*实参

打散列表,然后以位置实参传给位置形参

**

**形参

用字典接收多余的关键字实参

**实参

打散字典,然后以关键字实参传给位置形参

函数对象

引用

作为容器类元素

作为函数参数

作为函数的返回值

函数嵌套

def

​ def

外面不能引用函数内部定义的函数

名称空间与作用域

内置名称空间

放内置方法

全局名称空间

除了内置和局部就是全局

局部名称空间

函数内部的定义的变量/函数

执行顺序

内置--》全局---》局部

搜索顺序

从当前位置开始 局部--》全局--》内置--》报错

全局作用域

全局作用域的x和局部作用域的x没有关系,可变数据类型除外

局部作用域

局部作用域1的x 和局部作用域2 的x没有关系

global

局部的可以修改全局的

nonlocal

局部的修改外层局部的

legb原则

posted @ 2019-09-20 17:04  mqb11  阅读(176)  评论(0编辑  收藏  举报