当前位置:首页>维修大全>综合>

python最难的语法(python 基础语法史上最详细)

python最难的语法(python 基础语法史上最详细)

更新时间:2024-04-16 04:57:49

python最难的语法

一、列表推导式

a = [1, 2, 3, 4, 5]

result = [i*i for i in a]

print(result)

1

2

3

1

2

3

二、lambda函数

1、lambda函数即为匿名函数,仅在定义匿名函数的地方使用这个函数,其他地方用不到,所以就不需要给它取个阿猫阿狗之类的名字了。

匿名函数一般不会单独使用,而是配合其他方法,为其他方法提供内置的算法或判断条件

a=(lambda x,y:x+y)(3,4)

print(a)

1

2

1

2

2、与map函数一起使用时:

map(function, iterable, …)

map() 会根据提供的函数对指定序列做映射。

参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

function – 函数

iterable – 一个或多个序列

Python 3.x 返回迭代器

a = [1, 2, 3, 4, 5]

b = [5,4,3,2,1]

result = map(lambda x,y:x*y,a,b)

for i in result:

print(i)

1

2

3

4

5

1

2

3

4

5

三、yield 以及生成器和迭代器

迭代器,它可以像list那样被遍历,但又不占用多少内存generator(生成器)是一种特殊的迭代器,只能被遍历一次,遍历结束,就自动消失了

总之,不管是迭代器还是生成器,都是为了避免使用list,从而节省内存

python内置了迭代函数 iter,用于生成迭代器

yield 则是用于构造生成器的

generator保存的是函数算法,节约内存

generator也是可迭代对象

可用next函数调用,也可以用for循环调用

Python3的for循环本质上就是通过不断调用next()函数实现的

generator保存的是算法,每次调用next(generaotr_ex)就计算出他的下一个元素的值,直到计算出最后一个元素,没有更多的元素时,抛出StopIteration的错误

generator和函数的执行流程,函数是顺序执行的,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次被next()调用时候从上次的

更多栏目