python之 高级特性

xiaoxiao2021-02-28  117

01 递归函数:函数可以直接或间接调用函数本身

1. 计算n!

# 1. 在写递归函数时要有一个明确的结束条件; # 2. 在递归时,问题规模要越来越小; # 3. 递归函数效率不高,函数调用是通过栈的数据结构实现的, # 4. 每调用依次,栈就会多一层,最多999层,否则会出现栈溢出。

2.二分法

02 迭代

•可以通过 for 循环来遍历这个 list 或 tuple,这种遍历我们称为迭代(Iteration) •只要是可迭代对象,无论有无下标,都可以迭代,比如 dict就可以迭代:

方法是通过 collections 模块的 Iterable 类型判断

• 如果要显示[(1,2),(2,3),(3,4)]怎么实现迭代显示?

03 列表生成式

列表生成式是Python 内置的非常简单却强大的可以用来创建 list的生成式

1.生成 [1x1, 2x2, 3x3, ..., 7x7] ?

>  for 循环              

>  列表生成式:   

2.0~20内所有偶数的平方

print [ i*i for i in range(0,21) if i % 2 == 0] 3.返回'123' 'ABC'两个字符串的结合(['1A','1B','1C','2A','2B','2C','3A','3B','3C']) print [i+j for i in '123' for j in 'ABC'] 4. 遍历字典 d ={'name':'haha','age':'14'} print [ k+'='+v for k,v in d.items()]

04 生成器

生成器generator  1). 列表生成式受到内存的限制,列表容量是有限的;  2). 列表生成式如果只需要前几个元素,浪费内存空间。  3). 访问生成式:        - for循环        - g.next()方法 l = [i for i in range(1000)]        # 列表生成式 g = (i for i in range(1000))        # 生成器 g.next() for i in g:     print i

1.定义一函数fib,实现斐波那契数列(Fibonicci):

# 通过yield实现单线程的并发运算 # 异步I/O模型epoll          http   nginx  tomcat

转载请注明原文地址: https://www.6miu.com/read-26780.html

最新回复(0)