py高级特性及递归函数

首先是上一章函数的最后一块——递归函数

递归函数:函数在内部调用自身

逻辑清晰

注意:栈溢出

计算机调用一次函数,就增加一次栈帧,函数返回,就减少一层。调用函数过多,便会导致栈溢出。

解决方法:尾递归

函数返回时,调用自身,而且return语句不能包含表达式
递归调用任意次,都只占用一个栈帧

python解释器并没有做优化,所以也会栈溢出

(python中代码越少越简单越好)

切片:取一个list或tuple的部分元素

L[0:3]
从0开始,到3结束,不包括3
L[:3]
第一个元素是0,可以省略
L[-2:-1]
取后两个元素
L[-2:0]
可以省略-1
L[:10:2]
前十个数,每两个取一个
L[::5]
所有数,每五个取一个
L[:]
原样复制

注:tuple切片后仍是tuple

字符串也可看作list,也可切片,切片后仍为字符串

迭代

通过for循环遍历list或tuple(dict,字符串)
for a in l:
print(a)

dict:

默认迭代key
for value in d.values() 迭代value
for k,v in d.items() 迭代key和value

判断是否为可迭代对象

通过collections模块的lterable
from collections import lterable
isinstance('abc',lterable)
true/false

同时迭代索引和元素本身

for i,value in enumerate(['a','b','c'])
print(i,value)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 5,719评论 0 5
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 5,765评论 0 1
  • 教程地址:python入门 - 慕课网 安装python 执行脚本 python官网 安装程序,并将python....
    竹口小生阅读 3,395评论 0 0
  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 5,699评论 0 5
  • 文/左岸江南 20岁到30岁,是女人一生中最美的时候,也是职场发展的黄金期。这个时候,好看是一种天赋资源,是资本,...
    左岸江南阅读 3,477评论 0 1