零基础入门学习python-----读书笔记(四)
博客代码:180916
-
函数
-
函数的文档字符串可以由特殊属性__doc__获取
-
收集参数: 当不知道函数有多少个参数时,可以在参数前加上(*)
-
python的所有函数都有返回值,而且可以返回多个值
-
闭包
-
如果在一个内部函数里(funY)对外部作用域(但不是全局作用域)的变量引用,则这个内部函数就是闭包
>>> def funX(x): #闭包中无法修改外部函数的元素的值,但是可以使用容器类型或者nonlocal进行修改 def funY(y): return x * y return funY >>> funX(8)(5) 40
-
lambda表达式:精简函数
>>> g = lambda x,y : x+y #可以使用多个参数 >>> g(3, 4) 7
-
filter():第一个参数可以是参数或者None,若是函数会把第二个参数中的每一个元素带入函数,把返回值为Ture的元素输出;若是None则直接输入为True的值
-
map():与上一个函数类似,但是不会过滤,而是全部输出结果
>>> list(filter(lambda x : x % 2, range(10))) #过滤奇数 [1, 3, 5, 7, 9] >>> list(map(lambda x : x % 2, range(10))) [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
-
设置递归层数(python默认为100层)
>>> import sys >>> sys.setrecursionlimit(1000000) #设置层数为1000000层