2019.09.29:
学习廖雪峰Python教程。
笔记:
1.
如果字符串内部有很多换行,用\n写在一行里不好阅读, 为了简化,Python允许用’’’…’’‘的格式表示多行内容,可以自己试试:
>>> print(’’‘line1
… line2
… line3’’’)
line1
line2
line3
2.
以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:
>>> ‘ABC’.encode(‘ascii’)
b’ABC’
>>> ‘中文’.encode(‘utf-8’)
b’\xe4\xb8\xad\xe6\x96\x87’
>>> ‘中文’.encode(‘ascii’)
Traceback (most recent call last):
File “”, line 1, in
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128)
纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
3.
如果bytes中只有一小部分无效的字节,可以传入errors='ignore’忽略错误的字节:
>>> b’\xe4\xb8\xad\xff’.decode(‘utf-8’, errors=‘ignore’)
‘中’
4.
>>> ‘Hi, %s, you have $%d.’ % (‘Michael’, 1000000)
‘Hi, Michael, you have $1000000.’
注意:其中数字是不需要加引号的!
完成的练习:
问题:
1.如何将bytes转换为str