在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
}