Python2.7学习笔记(二)

本文详细介绍了Python2.7中的高级特性,包括切片、迭代、列表生成式和生成器,以及函数式编程的概念,如高阶函数、map/reduce、filter、sorted、返回函数、匿名函数lambda、装饰器和偏函数。同时,文章讲解了模块的使用,包括导入、别名、作用域和第三方模块的使用。
摘要由CSDN通过智能技术生成

第二部分

高级特性

切片

迭代

1.如果给定一个list或tuple我们可以通过for循环来历遍这个list后者tuple。
这种历遍我们称为迭代(Iteration)
2.dict
由于dict的储存不是按照list的方式顺序排列,所以迭代出的结果顺序可能不一样。
默认dict迭代的是key,如果要迭代value:

for value in d.itervalues()

如果要同时迭代:

for k,v in d.iteritems()

3.怎么判断是否可以迭代?
使用collections模块的iterable

form collections import Iterable
isinstanc('abs',Iterable)

4.下标循环
java通过下标循环
如果想在python中实现类似下标循环
内置的enumerate函数可以吧list编程索引-元素对

for i,value in enumerate(['A','B','C']):

列表生成式

1.列表生成式即List Comprehensions
内置的非常简单强大可以用来创建list的生成式
2.直接在列表里面写上公式

[ x*x for x in range(1,11) if x%2 == 0 ]
##还可以写两层循环,生成全排列
##三层及以上使用较少

3.列表生成式也可以使用两个变量生成list
4.最后把一个list中所有的字符串变小写

生成器(Generator)

1.如果列表元素可以按照某种算法推算出来,那我们是否可以在循环过程中不断推算出后续的元素而不必创建完整的list。python中这种一边循环一边计算的机制,称为生成器
2.只要把列表的[]改成(),就创建了一个generator
3.如果一个函数定义中包含yield关键字,那这个函数就是一个generator
4.generator和函数的执行流程不一样
函数是顺序执行,遇到return语句或者最后一行函数语句就返回。
而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。
5.generator是非常强大的工具
6.斐波那契数列

def fib(max):
n,a,b=0,0,1
while n < max:
print b
a,b=b,a+b
n = n+1

7.将斐波那契数列函数改为generator

##将print b 改为yield b
def fib(max):
n,a,b=0,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值