第十三章

今日内容

  • 匿名函数

  • 内置函数二

  • 闭包

匿名函数

匿名函数就是一行函数,关键字是lambda

lambda x:x# lambda 参数:返回值x 是普通函数的形参 可以不定义形参:x 是 普通函数的返回值(只能返回一个数据类型)

f = lambda x:x+6print(f(1))     # 结果:7print(f.__name__)   # 查看函数的名字 函数名为lambda​lst = [lambda :i for i in rang(5)]print(lst[0]())​​# 结果:4面试题拆解:lst = []for i in range(5):    def func():        return i    lst.append(func)

内置函数二

字典的合成方式

dict([(1,2),(3,4)])             # 中括号也可以换成小括号# {1: 2, 3: 4}​dict(k=1,v=2,c=3)# {'k': 1, 'v': 2, 'c': 3}​dic1 = {"key1":1,"key2":2}dic2 = {"a":1,"b":2}print(dict(**dic1,**dic2))# {'key1': 1, 'key2': 2, 'a': 1, 'b': 2}

print()

sep:每个元素之间分割的字符,默认是" "空格end:print执行完后的结束语句,默认是\nfile:文件句柄,默认是显示到屏幕,也可以写进文件,例如:print(1,2,3,4,file=open("test","w",encoding="utf-8"))

sum

算出可迭代对象中的和,只能算int

abs

绝对值

dir

print(dir(list))print(dir(str))# 查看当前对象所有方法,返回的是列表

zip

拉链lst1 = [1,2,3,4]lst2 = ['a','b','c','d','e']​面试题:print(dict(zip(lst1,lst2)))# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}

format

print(format('alex','>20'))     # 左对齐print(format('alex','<20'))     # 右对齐print(format('alex','^20'))   # 居中​进制转换print(format(10, "b"))  # bin 二进制print(format(10, "08o"))  # oct 八进制print(format(10, "08x")) # hex 十六进制print(format(0b1010), "d") # 十进制

reversed

反转print(list(reversed("alex")))# 得到的是迭代成列表之后的反转# 得到的是一个新列表

filter

过滤lst = [1,2,3,4,5,6]print(list(filter(lambda x:x>1,lst)))# 过滤掉大于1的数字​lst = [{'id':1,'name':'alex','age':18},       {'id':1,'name':'wusir','age':17},       {'id':1,'name':'taibai','age':16},]​print(list(filter(lambda x:x['age']>16,lst)))# 留下年龄大于16的信息

map

映射函数(将可迭代对象中的每个元素执行指定的函数)
print(list(map(lambda x,y:x+y,[1,2,3],[11,22,33,44])))
# 将每个列表的对应元素相加print([i*8 for i in [1,2,3,4]])
# 8,16,24,32

sorted

print(sorted([1,-22,3,4,5,6],key=abs))  # key指定排序规则
# 排序 执行了绝对值之后的列表lst = ["三国演义","红楼梦","铁道游击队","西游记","水浒传","活着"]
print(sorted(lst,key=len))
# 通过长度排序lst = [{"age": 19}, {"age1": 20}, {"age2": 80}, {"age3": 10}]
# print(sorted(lst, key=lambda x: x.values()))
print(sorted(lst, key=lambda x: x.keys(), reverse=True))
# 通过键和值排序

max,min

最大值和最小值

reduce

from functools import reduce   # 累计算# 内部实现原理
def func(x,y):return x+y
print(reduce(func,[1,2,3,4,5]))print(reduce(lambda x,y:x+y,[1,2,3,4,5]))

闭包

闭包
# 1.在嵌套函数中,使用非本层且非全局变量的就是闭包
# print(inner.__closure__)  判断是否是闭包  返回None就不是# 闭包的作用:# 1.保护数据的安全性# 2.装饰器

转载于:https://www.cnblogs.com/xuyuwei/p/11384325.html

PythonDay13相关推荐

最新文章

  1. 只用一分钟,给你的宽带加速
  2. Good Bye 2018题解
  3. 58技术主席:还原万亿级三高业务场景的设计与实践
  4. ARM汇编学习-工具篇
  5. 开课吧之Java常见面试题之RandomAccess接口
  6. 浅谈前后端分离与实践 之 nodejs 中间层服务
  7. CODE[VS] 1474 十进制转m进制
  8. python 网络设备巡检_python写的一个服务器自动巡检工具
  9. sql语句中表格缩写命名_数据库表、字段命名规范
  10. SQL Server导出MDF数据库文件
  11. [JS]回调函数例子
  12. discuz怎么自定义php,Discuz添加自定义数据调用模块
  13. 织梦dedecms会员设置、互动设置教程
  14. Android保存图片到本地或者数据库,并通知相册更新
  15. 安卓开发常用词汇总结
  16. mac版eclipse连接mysql_将Eclipse连接到mysql mac os x jdbc驱动程序
  17. xml文件解析(使用解析器)
  18. 51nod 1205 流水线调度(Johnson规则)
  19. BIOS设置u盘启动找不到u盘选项怎么办?
  20. android usb投影win10,投影学堂:Win10和安卓投影机上斗法

热门文章

  1. 正态分布中“sigma原则”,“2sigma原则”,“3sigma原则”
  2. Python:使用拉依达准则(3σ准则)剔除excel表中异常数据
  3. 6款精挑细选的黑科技APP,每一款都是极品黑科技
  4. 【学习笔记asp.net】WebService创建、发布及在IIS上部署
  5. 通常说的计算机内存容量,计算机的内存容量通常是指什么
  6. ARM64内存中的dirent,记一个判断文件后缀的方式
  7. 阿里巴巴联合汉仪重磅推出五款人工智能字体:汉仪天真体、英雄体等
  8. 300元差价选谁好 魅蓝note对比魅蓝手机
  9. AD审计子策略开启报错解决办法
  10. IDA Pro 7.0皮肤插件的安装与深色主题(包含背景色、前景色、指令颜色)的设置