《python基础教程》笔记(一)
- str和repr:
>>> print(repr("Hello,\nworld!"))
'Hello,\nworld!'
>>> print(str("Hello\nworld!"))
Hello,
world!
使用str能以合理的方式将值转换为用户能够看懂的字符串。例如,尽可能将特殊字符编码
转换为相应的字符。然而,使用repr时,通常会获得值的合法Python表达式表示。
2. 关于特殊字符串
可以用三个引号做长字符串的开始和结束标志
''' This
is
a long
text '''
""" This is
another
long text """
原始字符串用前缀r表示。看起来可在原始字符串中包含任何字符,这大致是正确的。一个例外是,引号需要像通常那样进行转义,但这意味着用于执行转义的反斜杠也将包含
在最终的字符串中。
>>> print(r'Let\'s go!')
Let\’s go!
>>> print(r'C:\Program Files\foo\bar\')
File "<stdin>", line 1
print(r'C:\Program Files\foo\bar\')
^
SyntaxError: unterminated string literal (detected at line 1)
>>> print(r'C:\Program Files\foo\bar\\')
C:\Program Files\foo\bar\\
>>> print(r'C:\Program Files\foo\bar' '\\')
C:\Program Files\foo\bar\
>>>
3. 关于Unicode, bytes, bytearray
指定Unicode字符的通用机制:使用16或32位的十六进制字面量(分别加上前缀\u或\U)或者使用字符的Unicode名称(\N{name})。
>>> "Hællå, wørld!".encode()
b'H\xc3\xa6ll\xc3\xa5, w\xc3\xb8rld!'
>>> b'H\xc3\xa6ll\xc3\xa5, w\xc3\xb8rld!'.decode()
'Hællå, wørld!'
>>> bytes("Hællå, wørld!", encoding="utf-8")
b'H\xc3\xa6ll\xc3\xa5, w\xc3\xb8rld!'
>>> str(b'H\xc3\xa6ll\xc3\xa5, w\xc3\xb8rld!', encoding="utf-8")
'Hællå, wørld!'