Python-内置函数1、匿名函数、闭包

匿名函数

  • lambda x:x

  • 定义函数的关键字

  • x: 形参 可以写多个,也可以不写

  • :x 返回值 必须写,只能写一个数据类型

内置函数(2)

  • 字典创建新简便方法:

    • # dict(k=1)
       # dict([(1,2)])
       # dict(**dic1,**dic2)
       
  • print()
    sep:每个元素的分割   默认是空格
    end:print语句的结束语句   默认是\n
  • sum()求和  可迭代对象容器,容器的元素必须是数字
    sum([1,2,34,5,6,7],100)  指定开始位置的值
  • abs()绝对值
  • dir()查看当前对象的所有方法
  • format()  >(向右对齐) <(向左对齐) ^(剧中) o(八进制) b(二进制) x(十六进制) d(十进制)
  • zip() 拉链--当长度不一致时选择最短的进行合并
    面试题:
    dict(zip(list1,list2))
  • reversed() 反转
  • filter()  过滤  函数名(指定过滤规则),可迭代对象
  • map()  映射  函数名(对每个元素执行的方法),可迭代对象
  • sorted()  可迭代对象,key=制定规则   默认为升序
  • max()  可迭代对象,key=指定规则
  • min()  可迭代对象,key=制定规则
  • reduce  累计算

什么是闭包?

  • 在嵌套函数内,使用(非本层变量)和非全局变量就是闭包

def func():
   a = 1
   def foo():
       print(a)
   print(foo.__closure__)   #判断是不是闭包

func()
  • 闭包的作用:

    • 1.保护数据的安全性

    • 2.装饰器

def wrapper(a,b):
   def inner():
       print(a)
       print(b)
   inner()
   print(inner.__closure__)
a = 1
b = 2
wrapper(11,22)

# 11
# 22
# (<cell at 0x00000000021484F8: int object at 0x000000005DCD81B0>, <cell at 0x0000000002148528: int object at 0x000000005DCD8310>)

 

猜你喜欢

转载自www.cnblogs.com/womenzt/p/12283983.html