1.听写
1.利用列表生成式 生成列表
list0 = ["", "\n", "\t\t", "good", "hello", "\tnice"]
生成的列表中不包含空白字符序列和空字符序列
split() # 以空格或者\n\t\b\r
strip()
list1 = [item for item in list0 if len(item.split()) != 0]
print(list1)
2.利用字典生成式
dict0 = {"A":"a", "B":"b", "C":"c", "d":"D"} # 去除掉不一样的键值对
dict1 = {k:v for k, v in dict0.items() if ord(k) + 32 == ord(v)}
print(dict1)
2.课堂概述
函数补充:闭包
装饰器
模块和包:包是对模块的分类管理
main - 程序入口的声明
高阶函数:map —> 根据一些需求 重新设定序列中的元素内容
reduce ---> 导入模块 functools
filter ---> 筛选的功能
sorted ---> 排序
zip ---> 按对合并两个序列
常用模块的使用:time
datetime
calendar
os ---> 操作系统的文件目录 文件读写
3.闭包
格式:
在一个函数内部 嵌套另外一个函数 [函数内部声明的内容只能作用与函数本身 出了函数没有任何意义]
def out(形参列表):
外部函数体
def inner(参数列表):
内部函数体
def out():
print("外部函数")
def inner():
print("内部函数") # 这种函数的内部函数的调用只能在外部函数体中调用
return inner
# 想在函数外部调用inner能直接调用吗? 不能 只能间接调用 内部函数可以当做一个值被进行传递
func = out()
print(func)
func()
'''
外部函数
<function out.<locals>.inner at 0x000002114E219AE8>
内部函数
'''
4.装饰器
特殊的闭包: 将内部函数当做外部函数的运行结果被返回
def out(功能名字): # 外层函数的参数的作用是 接受添加新需求的功能
外部函数
def inner(*values, **kwargs):
内部函数
result =