在python中,不管是单/双引号的一个字符,都叫字符串,不区分字符和字符串
引号分类
- 单引号
- 双引号
- 三引号,三引号又分成:三单引号、三双引号
以上不管是什么引号,都是成对出现,这个定律不变,例如"hello,word"
这样是一个正确的字符串,倘若换成"hello,word,"heihei"
会报错,理由:与第一个引号成对的是heihei前的引号,后一个引号找不到匹配的引号会报错,如何处理呢?
A. 引号内字符串中出现的引号,使用转义符处理,例如双引号转义符\"
,单引号\'
,python会对转义符进行处理;这里稍微引申一个小tip:如果不希望python对转义符进行处理,如何处置呢?答案:使用r
修饰
B. 单双引号混合用, 引号内字符串中出现的单引号,则用双引号包裹字符串,反之用单引号包裹
单双引号通常表示一行字符串,如果需要换行显示,则需要使用反斜杠 \
,尽管单双引号在大多数场景下比较常用,但某些场景:如多行、原串输出等不够灵活,而三引号正好弥补了这一点。
三引号包裹的字符串未赋值给任何变量值,它表示注释,就是一个普通文本而已,否则表示一个字符串,其中包含的换行、空格、缩进等空白符都会原样输出,且包含的单引号或双引号不会出现解析错误。
举1个例子:比如想要将字符串按照一定的格式格式化输出至文件保存,推荐使用三引号格式化
# 格式化一个函数至文件
test_strings = """var averageScore:Double{{
return ({0}+{1})*0.5
}}
"""
print(test_strings.format("chineseScore", "mathScore"))
输出的结果格式【注意看空行和tab原样输出】:
var averageScore:Double{
return (chineseScore+mathScore)*0.5
}
若test_strings 修改成
# 格式化一个函数至文件
test_strings = """
var averageScore:Double{{
return ({0}+{1})*0.5
}}
"""
则结果【注意看空行和tab原样输出】
var averageScore:Double{
return (chineseScore+mathScore)*0.5
}
网友评论