了解Debug调试
1.先使用鼠标左键在需要调试的代码左边点击一下(会出现一个红点)
2.之后右键点击debug运行代码
字符编码
# 只跟文本和字符串有关 与视频音频无关。
# 1.什么是字符编码
由计算机内部识别二进制 但是用户在使用计算机的时候可以看到各式各样的语言字符
字符编码:内部记录来人类字符与数字对应关系的数据
字符编码发展史

# 1.一家独大
漂亮国发明了计算机 漂亮国的人为了能让计算机识别英文字符
ASCII码:里面记录了英文字符与数字的对应关系
'''
所有的英文字符和符号加起来其实不超过127
'''
必须记住的队友关系
A-Z: 65-90
a-z: 97-122
# 2.群雄割据
中国人
为了能够让计算机识别中文,发明另外一套编码表
GBK:记录了英文中文与数字的对应关系
对于英文还是使用一个字节
对应中文使用连个字节甚至更多'''生僻字'''
日子过得不错国
一样 发明了自己的一套编码表
shift_JIS码: 日文英文对应关系
世界国
一样 Euc_kr码:记录韩英对应关系
# 3.天下一统
为了实现不同国家质检的文本数据能够彼此无障碍交流需要对编码统一
Unicode(万国码) 1994
统一使用两个字符记录字符与数字的对应关系
转换速度有缺陷
utf8(万国的优化版本)
将英文还是用一个字节存储
将中文使用三个字节或更多字节存储
'''默认utf8'''
字符编码实操
1. 如何解决文件乱码的情况
文件当初以什么编码编的 打开的时候就以是什么编码解
2. python解释器版本不同带来的编码差异
python2.x内部使用的编码默认是ASCII
# 文件头
coding:utf8
在python2中定义字符串前面加一个小u
s = u'你'
"""
自定义文件模板内容
file
settings
Editor
file and code templates
python script
"""
3. 编码与解码
编码
将人类能够读懂的字符按照指定的编码转换成指定的数字
解码
将计算机能读懂的数字按照指定的解码转换人能看懂的的字符
s = '每天都想睡觉,每天都困,困就完事了!'
# 编码
res = s.encode('utf8')
print(res, type(res))
# 解码
res1 = res.decode('utf8')
print(res1, type(res1))
文件操作

1.什么是文件?
文件其实是操作系统暴露给用户操作硬盘的快捷方式(接口)
2.代码如何操作文件
关键字open()
三步走:
1.利用光健字open打开文就按
2.利用其它方法操作文件
3.关闭文件
'''
文件路劲
相对路劲与绝对路劲
路劲中出现了字母与斜杠的组合产生了特殊含义如何取消
在路径字符串前面加一个 r
r'D:\pyt.hc\day08\a.txt'
'''
# open('a.txt') # 打开相对路径
# open(r'D:\pyt.hc\day08\a.txt') # 打开绝对路径
# res = open('a.txt', 'r', encoding='utf8')
# print(res.read())
# res.close() # 关闭文件释放资源
'''
open(文件路径,读写模式,字符编码)
文件路径与读写模式是必须的
字符编码是可选的(有些模式需要编码
'''
# with上下文管理(能够自动帮你close())
with open(r'a.txt','r',encoding='utf8') as f1: # f1=open() f1.close()
print(f1.read())
"""以后代码操作文件 推荐使用with语法"""
文件的读写
"""
补全语法结构 没有实际含义
pass
...
"""
r 只读模式(只能看不能改)
# 路径不存在:直接报错
# with open(r'b.txt', 'r', encoding='utf8') as f:
# pass
# 路径存在
# with open(r'a.txt', 'r', encoding='utf8') as f:
# print(f.read()) # 读取文件内所有的内容
# f.write('123') # 写文件内容
w 只写模式(只能写不能看)
# 路径不存在:路径不存在自动创建
# with open(r'b.txt', 'w', encoding='utf8') as f:
# pass
# 路径存在:1.会先清空文件内容 2.再执行写入操作
with open(r'a.txt', 'w', encoding='utf8') as f:
# f.read()
f.write('hello world!\n')
f.write('hello world!\n')
f.write('hello world!\n')
a 只追加模式(追加内容)