习题答案
文件处理相关
# 答案 py2默认ASCII码,py3默认的utf8# 答案 #coding:utf-8 #.py文件是什么编码就需要告诉python用什么编码去读取这个.py文件。 sys.stdout.encoding,默认就是locale的编码,print会用sys.stdout.encoding去encode()成字节流,交给terminal显示。所以locale需要与terminal一致,才能正确print打印出中文。 sys.setdefaultencoding(‘utf8’),用于指定str.encode() str.decode()的默认编码,默认是ascii。 以下几种(local 为软件运行时的语言环境): 终端为UTF-8,locale为zh_CN.GBK 终端为UTF-8,locale为zh_CN.UTF-8 终端为GBK,locale为zh_CN.GBK 终端为GBK,locale为zh_CN.UTF-8
# 答案 字符串在python内部中是采用unicode的编码方式,所以其他语言先decode转换成unicode编码,再encode转换成utf8编码。# 答案 编码声明# 答案 Python 2 将 strings 处理为原生的 bytes 类型,而不是 unicode(python2 str == bytes), Python 3 所有的 strings 均是 unicode 类型(python3 中需要通过 unicode ) string -> encode -> bytes bytes -> decode -> string# 答案 r 读模式 rb 二进制读# 答案 open(f_name,'r',encoding="utf-8")f_name 文件名 r 模式 encoding 编码方式
函数基础:
函数进阶:
生成器和迭代器
内置函数
Last updated