-----------小编学习python第八天的总结-----------
作用域
概念:作用域指的是变量在程序中的应用范围
作用域按照变量的定义位置可以分为4类:L E G B
local(函数内部)局部作用域
enclosing(嵌套函数的外层函数内部)嵌套作用域
global(模块全局)全局作用域
built-in(内建)内建作用域
访问顺序:L->E->G->B
内层作用域中可以访问外层作用域中的数据
外层作用域中不能访问内层作用域中的数据
在python中,模块、类、函数会产生新的作用域
条件判断、循环语句、异常捕捉不会产生作用域,在这里面声明的变量,作用范围是属于当前作用域的
global和nonlocal
global 关键字可以将局部变量变成一个全局变量
nonlocal 关键字可以在内函数中修改外层(非全局)变量
内置函数
abs()函数
取绝对值
max()函数
max(iterable,key)
求迭代器的最大值
min(iterable,key)
求迭代器的最小值
iterable:为迭代器,max会遍历迭代器,然后将其中的最大值返回给key
key:是一个函数,可以自己写函数规则传给key
例:
map()函数
map(参数1,参数2)
参数1:是一个函数
参数2:是一个可迭代的内容
函数会依次作用在可迭代内容的每一个元素上进行计算,然后返回一个新的可迭代内容
例:
filter()函数
作用:用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新的列表
该函数接收两个参数,第一个为函数,第二个为序列,序列的每一个元素作为参数传递给函数进行判断,返回的是True或False,最后将返回True的元素放到新的列表中
例:过滤掉所有奇数
zip()函数
作用:接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象,这个可迭代对象可以使用循环的方式列出其元素,若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同
例:
匿名函数
本质为一个函数,没有名字的函数,针对简单函数提供的一种简洁的操作语法
匿名函数的定义使用 lambda
语法格式:变量 = lambda [参数1,参数2] : 表达式
和函数一样,但是不包含return功能
匿名函数中也可以写判断语句,但是判断语句必须是三元表达式
例:
嵌套作用域和lambda
lambda表达式也会产生一个新的局部作用域
举例: