str的编码格式
python3.x默认使用Unicode,支持多语言。在str与bytes互相交换时,没有特殊要求,默认使用UTF-8,避免麻烦。
bytes类型的数据为字节流,格式为b''或b"" 当字符串为中文无法识别时格式为\x##
当你的源代码包含中文时保存需要指定为UTF-8编码 用encode转换 decode与功能相反
ord('A') 65 ord获取单个字符的整数表示 chr功能与之相反
chr(66) B
当python解释器读取源代码时,要按UTF-8格式读取在文件开头加上两行:
#!/usr/bin/env python3 可以省略 提醒电脑这个python文件
# -*- coding: utf-8 -*- 提醒电脑按utf-8的格式读取文件
len()函数可以计算str的字符数,计算字节流的字节数
str的格式化输出
python和c的格式相同。%x 16进制 字符串里有% 要用%%表示
format()函数 用传入的参数依次替换占位符如:{0},{1}...
练习:
1.
'中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x98\x87'
b'\xe4\xb8\xad\xe6\x98\x87'.decode('utf-8') '中文'
2.一开始没有运行成功 没有将文本编辑器调整为UTF-8 without BOM
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
a = '可以用中文吗'
print()
3.
print('%2d-%20d' % (3,1))
print('%.2f') % 3.123214)
4.
#-*- coding: utf-8 -*-
s1 = 72
s2 = 85
s = (s2 -s1)/s1*100
print('成绩提升了%.2f%%'% s)