零基础入门学习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层

猜你喜欢

转载自www.cnblogs.com/zwpan/p/9656032.html