Python知识点范围:条件选择、循环和函数
条件选择和循环
- python的缩进是4个空格,之所以我们的Tab可以,因为友好的编辑器自动为我们转化了,如果是制表符的话会报错的;
- 函数定义、条件判断、循环条件后要加上冒号;
- elif是else if的缩写;
- for … in、while两种循环,break退出循环,continue跳过当前循环;
- for … in [] 指定循环列表里的内容;
- for … in遍历集合就是迭代;
- 索引迭代:for index,name in enumerate(list)。index为list的位置从0开始;
- 迭代dict,每次拿出的是他的key;
- 想迭代dict可以通过for … in dict.values()或dict.itervalues()。前者是转化为包含value的list,后者是直接取出值;
- dict.itervalues()返回<dictionary-valueiterator>,可以迭代一些对象;
- for k,v in dict.items()可迭代dict的key和value;
- 列表生成式:[x*x for x in range(1, 5)] 生成列表:[1*1, 2*2, 3*3, 4*4];
- isinstance(x, str)判断x是否是字符串;
- 列表生成式的条件过滤,后面直接加if … 符合条件的才能返回;
- 列表生成式可以多层循环嵌套,for m in … 后面接着 for n in …,m和n都能取到;
函数
- 没有return,函数返回None;
- 函数返回多个值只是假象,其实返回的是tuple类型,仍是单一值,只是省略了括号,让你看不出来;
- 一元二次方程求根公式:(-b±math.sqrt(b*b-4*a*c))/(2*a);
- 递归函数特点:定义简单,逻辑清楚。经典:汉诺塔算法;
- 函数调用是通过栈结构实现的,调用一次函数栈帧增加一层,函数结束栈帧减少一层,套用过多,栈帧过大会导致栈溢出;
- 默认参数:可以定义某个参数有值,引用时可以不传入这个参数,取默认设定的值;
- 多个参数的话,默认参数要排后面。比如:int(x, n=10),如果n这个参数没有指定的话,默认转化为10进制;
- 可变参数(*arg),函数接受的args是tuple类型;