Python基础(作用域、内置函数)

-----------小编学习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表达式也会产生一个新的局部作用域
举例:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44781625/article/details/108269452