模式匹配的方法一次性访问(集合)几个项更方便(将一个结构赋值给另一个完全相同的结构),根据对应的位置来选取值
函数的参数和临时变量,只有在函数调用的生命周期中存在,对其他函数和外围程序是不可见的
当一个函数不包含return语句时,在执行完最后一条语句之后会自动返回None
Def 1函数:
调用2函数
Def 2函数:
Xxxxxx
调用1函数
并不会报错,在调用1函数的时候两个函数都被定义过了
可以使用<parameter name> = <default value>的形式,带上为参数指定的默认值,从而将参数指定为可选的。
在参数列表中,必须的参数(不带默认值的)必须放在可选参数之前。
递归函数是调用自身的函数,必须至少包含一条选择语句
跟踪其调用情况很有必要,添加参数表示间距
随着递归的返回,所返回的每个值都和上面的值对齐,并且会增加lower的当前值
高阶函数:接受另一个函数作为参数,并且以某种方式应用该函数。(map, filter等内置高阶函数,对处理可迭代的对象很有用)
map接受一个函数和一个可迭代对象为参数,将其中每一个可迭代对象进行了转换 map(str, oldlist)
Filter(isPositive, oldlist) 可迭代对象的每一项都传入布尔函数中,True则保留
lambda表达式创建匿名函数(从而避免定义一次性的辅助函数):lambda<argument list>:<expression>
高阶函数 functools.reduce,通过应用带有两个参数(下一项和前一次应用该函数的结果)的函数来将一个可迭代的对象的项转化为单个的值
捕获异常: try-except
文件及其操作
文本文件的所有数据输入和输出都必须是字符串
'W' 表示输出文件,不存在则使用指定路径创建;若存在,则打开,数据写入且关闭后会覆盖原有文件数据
write接受字符串为参数
'r',若工作目录无法访问则会报错
在输入完成之后,再次调用read会返回一个空的字符串,说明已经到达文件末尾。要重复输入,必须再次打开文件(也因此不必关闭文件)
wordlist由空格隔开的几个整数组成
下面代码不必去除换行符(split)