开篇
惯例:print('hello world')
运算符
比较运算符 返回类型为布尔值(True/False),多用于判断
数值运算符
顺序结构 代码按照顺序按行执行
判断结构
if 条件:
代码块
else:
代码块
循环结构while循环:
while 条件为真:
循环块for循环:
for element in A:
循环块
异常 对异常的处理可以组合使用:
try/except/else/finally,例:
try:
代码块
except A:
A 代码块
else:
代码块
finally:
代码块
try中代码如果报A错,执行“A代码块”,如果未报错,执行else代码块,不管有没有报错,都将执行finally代码块
函数
基本函数结构
def 函数名(参数):
代码块
return 返回值
参数结构 函数可以是有参的,也可以是无参的
当然,既可以有返回值,也可以无返回值
参数特点:无参:def func():
默认参数:def func(x,y=100,z="hello")
未知参数个数:def func(name,*args)args将作为一个集合类型使用带键参数传递:def func(**kwargs)kwargs的类型为'dict',输入为:func(aa =1,bb=2,cc=3)回调函数:def func(fun, args)就是将其他函数作为参数
递归与嵌套 递归:函数调用本身(必须要有停止条件)
斐波那契数列:
嵌套:在函数中调用另外的函数
闭包 将函数作为返回值返回
匿名函数(lambda) 有时我们需要的函数是“一次性”的,可以使用lambda函数简化结构
关键字yield
可以将函数的中间结果返回但不结束程序,还是以斐波那契数列为例
本质上是将函数变成一个generator,调用时不会直接执行函数,而是返回一个可迭代(iterable)对象。在for循环时,会执行函数内部方法,碰到yield时,返回一个迭代值,下次迭代时,从yield下一条语句继续执行。这个过程中,变量从外部看,和上次中断前是完全一样的。
知乎这个编辑器说实话有点难用,不支持分级标题也就罢了,连表格都不支持,非要我一张一张截图...