今天时间有点迟了,就先复习函数吧,集合,跟固定集合就PASS了
函数
什么是函数
函数是可以重复执行的语句块,可以提高代码的利用率
函数的 定义
def 函数名 (参数):
语句块
注意点
1.函数名就是语句块的名称 , 是全局变量,
2.函数的命名规则和变量相同, 他的本质也是变量。有一个绑定关系
3.函数有自己的运行空间,外部不能访问函数内部的变量,在函数的内部可以访问函数外部的变量
通常在外部向函数内部传入一些参数
4.函数的参数列表可以为空
5.函数的语句块可以用pass 占位
函数的调用
def 函数名(实参调用传递参数列表):
实际参数调用以后称为实参
说明:
函数本身是一个表达式
如果没return 默认返回 None
有return 则返回 return后面的 值或表达式
pyhon的传参形式
位置传递 (实参跟形参相互对应)
序列传递 (用*号把序列拆开)
关键字传递 (按照名称进行参数的传递)
字典传递 (双型号把字典拆开 形参跟实参可以不按照位置进行匹配)
函数的综合传参
先位置传参,后关键字传参
函数的缺省参数
例如 def m(s,L=[])当L没有参数传递时,L默认为[],注意这个L是函数的作用域,只要函数没被销毁,这个L就存在
函数形参的定义方法
位置形参
星号元组形参
命名关键字形参 (*后的参数传递 必须用关键字或字典传参)
关键字形参
双型号字典形参
函数参数说明
缺省参数 位置形参 关键字形参 命名关键字形参 双型号字典形参 可以混合使用
函数参数的顺序依次是
位置形参
元组形参
命名关键字形参
双型号字典形参
缺省参数
变量
全局变量 和局部变量
局部变量:定义在函数内部的变量成为局部变量(函数的形参也是局部变量)
局部变量只能在函数内部使用
局部变量只有在调用时才被创建,调用完成后自动销毁
全局变量
定义在函数外部,模块内部的变量成为全局变量
全局变量所有函数可以直接访问
gobals 和 locals函数
gobals() 返回 所有的全局变量(字典)
locals() 返回当前作用域内的变量(字典)
函数变量名
它在创建时就绑定一个函数
函数可以返回一个另一个函数,即另一个函数作为return 后面的 表达式
函数的嵌套
函数的嵌套是指在函数内部创建另一个函数
python 的作用域
作用域也叫命名空间,访问变量时,查找变量名的范围空间
python的四个命名空间 L - E - G -B
L ---> 当前函数内部的变量 (local function)
E ----> 外部嵌套函数的作用域 (Eclosing function locals)
G --->模块所在模块的作用域 (Globals)
B ---> 内建函数的作用域(builitin)-->python
由于时间关系,今天就到这