笔记12
课前搞基:
绝不拖堂
立flag->受到周围人的嘲讽->收集愤怒->激发斗志、增强战斗力
一个月:35斤
195
考试十五分钟:(默写上节课课堂代码)
1、注册功能
用户输入账号密码,按照"egon:18"的格式存入文件
2、基于上述注册信息,完成验证功能
即用户验证的账号密码来源于文件
验证成功打印login sucessful
验证错误输出账号or密码错误
3、编写文本文件copy程序
with open(r'源文件',mode='rt',encoding='utf-8') as f1,\
open(r'目标文件',mode='wt',encoding='utf-8') as f2:
# data=f1.read()
# f2.write(data)
for line in f1:
f2.write(line)
上节课复习:
1、什么是文件
用户/应用程序(f=open(),获得文件对象/文件句柄)
操作系统(文件)
计算机硬件(硬盘)
2、为何要用文件
用于应用程序操作硬盘,永久保存数据,或者从硬盘读数据
3、如何用
f=open(r'C:\new_dir\a.txt',mode='r+t',encoding='gbk')
res=f.read() # 读出硬盘的二进制(gbk)->t控制将二进制转换unicode->字符
print(res)
# f.write()
f.close()
print(f)
f.read() # 抛出异常
with open(...) as f,open(...) as f1:
code1
code2
code3
本周内容
day01: 文件高级及函数基本使用
1、文件模式
x模式(控制文件操作的模式)-》了解
x, 只写模式【不可读;不存在则创建,存在则报错】
b模式补充(控制文件读写内容的模式)
bytes类型转换
x=10 # int(10)
'你'.encode('gbk') # bytes()
2、文件的操作的其他方法
3、文件的高级操作:控制文件指针的移动
4、文件修改的两种方式
5、函数的基本使用
先定义
三种定义方式
后调用
三种调用方式
返回值
三种返回值的形式
day02:函数参数
一 形参与实参介绍
二 形参与实参的具体使用
2.1 位置参数
2.2 关键字参数
2.3 默认参数
2.4 可变长度的参数(*与**的用法)
2.4.1 可变长度的位置参数
2.4.2 可变长度的关键字参数
2.5 命名关键字参数
2.6 组合使用
day03:名称空间与作用域、函数对象、闭包函数(尤其注意听)
名称空间与作用域
一 名称空间
1.1 内建名称空间
1.2 全局名称空间
1.3 局部名称空间
二 作用域
2.1 全局作用域与局部作用域
2.2 作用域与名字查找的优先级
函数对象、闭包函数
一 函数对象
1.1 函数可以被引用
1.2 函数可以作为容器类型的元素
1.3 函数可以作为参数传入另外一个函数
1.4 函数的返回值可以是一个函数
二 闭包函数
2.1 闭与包
2.2 闭包的用途
day04:无参装饰、有参装饰器
一 装饰器介绍
1.1 为何要用装饰器
1.2 什么是装饰器
二 装饰器的实现
2.1 无参装饰器的实现
2.2 有参装饰器的实现
day05:可迭代对象:迭代器、生成器(自定义的迭代器)
迭代器
一 迭代器介绍
1.1 可迭代对象
1.2 迭代器对象
二 for循环原理
三 迭代器的优缺点
3.1 优点:
3.2 缺点:
生成器:
一 生成器与yield
二 yield表达式应用
三 三元表达式、列表生成式、生成器表达式
3.1 三元表达式
3.2 列表生成式
3.3 生成器表达式