(二)字符串类型(二)字符串类型
主要内容主要内容
将字符串理解为字符序列
使用基本的字符串操作
插入特殊字符和转义序列
将对象转换为字符串
对字符串进行格式化
使用字节类型
1)将字符串理解为字符序列)将字符串理解为字符序列
如果要提取字符或字符串,可以将字符串看作是一系列字符,也就是说可以使用索引和切片语法进行操作
但是字符串并不是字符列表。字符串和列表之间最明显的区别就是,字符串不可以修改。
>>> x = ["Hello"] >>> x[0] 'Hello'
>>> x = "Hello"
>>> x[0] 'H'
>>> x[-1] 'o'
>>> x[1 : ] 'ello'
#len()函数确定字符串中的字符数类似于获取列表中的元素一样
>>> len("Hello")
5
#字符串的基本操作
>>> x = 'Hello ' + 'World'
>>> x
'Hello World'
>>> 8 * "x"
'xxxxxxxx'
2)特殊字符和转义序列)特殊字符和转义序列
以反斜杠开头,用于表示其他字符的字符序列,被称为转义序列(escape sequence)。转义序列通常用来表示特殊字符,也就是这种字符没有标准的用单字符表示的可打印格式。
常见转义序列:
Escape Sequence Meaning Notes
\newline
Backslash and newline ignored
\\
Backslash (\)
\'
Single quote (')
\"
Double quote (")
\a
ASCII Bell (BEL)
\b
ASCII Backspace (BS)
\f
ASCII Formfeed (FF)
\n
ASCII Linefeed (LF)
\r
ASCII Carriage Return (CR)
\t
ASCII Horizontal Tab (TAB)
\v
ASCII Vertical Tab (VT)
\ooo
Character with octal value ooo (1,3)
\xhh
Character with hex value hh (2,3)
3)数字格式(八进制、十六进制)和)数字格式(八进制、十六进制)和Unicode编码的转义序列编码的转义序列
在字符串中,可以用与ASCII字符对应的八进制或十六进制转义序列来包含任何ASCII字符。八进制转义序列是反斜杠后跟3位八进制数,这个八进制数对应的ASCII字符将会被八进制
转义序列替代。十六进制转义序列不是用“ \ ”作为前缀,而是用“\x”,后跟任意位数的十六进制数。如果遇到不是十六进制数字的字符,就会视作转义序列结束。
例如,在ASCII字符表中,字符“m”转换为十进制值为109,转换成八进制值就是1551,转换成十六进制值则为6D。
>>> 'm'
'm'
>>> '\155'
'm'
>>> '\x6D'
'm'
#对于换行符“\n”,八进制为012,十六进制为0A
>>> '\n'
'\n'
>>> '\012'
'\n'
>>> '\x0A'
'\n'
Python3的字符串都是Unicode字符串,因此几乎能够包含所有语言的全部字符。
#特殊字符在字符串和print函数中不同的编译方式
>>> 'a\n\tb'
'a\n\tb'
>>> print('a\n\tb')
a
b
#print函数通常还会在字符串末尾添加换行符
>>> print("abc\n")
abc
#将print函数的end参数设置为“ ”,就可以让print函数不再添加换行符
>>> print("abc\n", end="")
abc