Python入门教程之字符串类型
Python入门教程:https://www.bilibili.com/video/BV1rmGczpEbG
字符即文字和符号的统称。
字符串类型即由若干字符组成的序列,以"str"表示。
字符串表示
字符串必须使用一组引号包裹,可以使用的引号包括:单引号、双引号
使用两种引号包裹的字符串之间几乎没有区别,通常习惯使用单引号来包裹字符串
s1 = '你好,世界!' # 单引号
s2 = "你好,世界!" # 双引号print(s1) # 你好,世界!
print(s2) # 你好,世界!
字符串必须使用相同类型的引号包裹,单引号和双引号不能混合使用
# s1 = '你好,世界!" # 错误,引号不匹配
# s2 = "你好,世界!' # 错误,引号不匹配
使用单引号或双引号包裹的字符串不能跨行
# s1 = '你好,
# 世界!' # 错误,字符串跨行# s2 = "你好,
# 世界!" # 错误,字符串跨行
转义字符
转义字符即会被替换成其他字符的特殊字符,通常用于表示特殊符号
可以使用转义符""与其他字符组合形成转义字符
转义字符 | 描述 |
---|---|
’ | 单引号 |
" | 双引号 |
\n | 换行符 |
\t | 制表符 |
\ | 反斜杠 |
引号
可以使用转义字符"'“和”""在字符串中间接表示单引号和双引号
s1 = '\'' # 单引号
s2 = '\"' # 双引号print(s1) # '
print(s2) # "
换行符
通常,字符串为单行,可以通过换行符让字符串换行,换行符之后的字符串将在下一行
可以通过转义字符"\n"在字符串中间接表示换行符
s1 = '你好,世界!'
s2 = '你好,\n世界!' # 换行符print(s1) # 你好,世界!
print(s2) # 你好, 世界!
制表符
通常,字符串以4个字符为一组,可以通过制表符让字符串对齐,制表符之后的字符串将在下一组
可以通过转义字符"\t"在字符串中间接表示制表符
s = '123456789'
s1 = '\t1' # 制表符
s2 = '12\t3' # 制表符
s3 = '1234\t5' # 制表符print(s) # 123456789
print(s1) # 1
print(s2) # 12 3
print(s3) # 1234 5
反斜杠
反斜杠在字符串中会被解释为转义符,可以通过转义字符"\"在字符串中间接表示反斜杠
s1 = '\t'
s2 = '\\t' # 反斜杠print(s1) #
print(s2) # \t
原始字符串
原始字符串即其中的转义字符不会被替换成其他字符的字符串
在字符串的引号前加上前缀"r"表示该字符串为原始字符串,前缀"r"不区分大小写
s1 = '\t'
s2 = r'\t' # 原始字符串print(s1) #
print(s2) # \t
引号嵌套
使用单引号包裹的字符串中不能直接出现单引号,使用双引号包裹的字符串中不能直接出现双引号
# s1 = ''' # 错误,出现单引号
# s2 = """ # 错误,出现双引号
可以交替使用引号以解决引号嵌套问题
字符串中存在单引号时就使用双引号包裹,存在双引号时就使用单引号包裹
s1 = "'"
s2 = '"'print(s1) # '
print(s2) # "
也可以使用转义字符来解决引号嵌套问题
s1 = '\''
s2 = "\""print(s1) # '
print(s2) # "
原始字符串中依然可以使用转义字符来解决引号嵌套问题
s1 = r'\''
s2 = r"\""print(s1) # \'
print(s2) # \"
格式化字符串
格式化字符串即可以插入变量的字符串
在字符串的引号前加上前缀"f"表示该字符串为格式化字符串,前缀"f"不区分大小写
在格式化字符串中可以使用"{变量名}"的形式将变量中的数据插入到字符串中
name = '世界'
msg = f'你好,{name}!' # 格式化字符串
print(msg) # 你好,世界!
在格式化字符串中不能单独出现"{“、”}“和”{}"
# s1 = f'{' # 错误,缺失右大括号
# s2 = f'}' # 错误,缺失左大括号
# s3 = f'{}' # 错误,缺失变量名
如果要在格式化字符串中出现"{“、”}“、”{}“则需要使用”{{“、”}}“、”{{}}"这样的形式
s1 = f'{{'
s2 = f'}}'
s3 = f'{{}}'print(s1) # {
print(s2) # }
print(s3) # {}
多行字符串
字符串除了可以使用单引号和双引号包裹之外,还可以使用三个单引号或三个双引号包裹
使用三引号包裹的字符串称为多行字符串,相较于普通字符串,多行字符串可以跨行
分别使用两种三引号包裹的字符串之间几乎没有区别,通常习惯使用三个单引号来表示多行字符串
s1 = '''你好,
世界!''' # 多行字符串
s2 = """你好,
世界!""" # 多行字符串print(s1) # 你好, 世界!
print(s2) # 你好, 世界!
多行字符串中也可以出现转义字符
s = '''你好,\n世界!''' # 转义字符
print(s) # 你好, 世界!
多行字符串也可以作为原始字符串
s = r'''你好,\n世界!''' # 原始字符串
print(s) # 你好,\n世界!
多行字符串也可以作格式化字符串
name = '世界'
s = f'''你好,{name}!''' # 格式化字符串
print(s) # 你好, 世界!
空字符串
空字符串即没有内容的字符串
s = '' # 空字符串
print(s) #
空白符即类似于空格、制表符、换行符这样的不会直接显示的字符,只包含空白符的字符串不是空字符串
s1 = ' ' # 非空字符串
s2 = '\t' # 非空字符串
s3 = '\n' # 非空字符串print(s1) #
print(s2) #
print(s3) #