您的“關注”和“點贊”,是信任,是認可,是支持,是動力......
如意見相佐,可留言,
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新,

- 1 字串型別概述
- 2 處理字串中的引號問題
- 2.1 分析字串中的引號問題
- 2.2 處理方法一:對引號進行轉義
- 2.3 處理方法二:使用不同的引號包含字串
- 3 處理字串的換行問題
- 4 Python 長字串
- 5 Python 原始字串
- 5.1 Python 原始字串概述
- 5.2 處理原始字串中的引號問題
- 6 Python 字串常用方法詳解
- 【文章其它地址】
- 微信公眾號:碼農阿杰
- CSDN 博客
- 【參考資料】
- Python 官網
- Python 3.8.2 documentation
1 字串型別概述
在 Python 中處理文本資料是使用 str 物件,也稱為字串型別,
字串是由 Unicode 碼位構成的不可變序列,
簡單理解,若干個字符(可以包含字母、標點、特殊符號、中文、日文等全世界的所有文字)的集合就是一個字串,
字串字面值有多種不同的寫法,如下所示:
- 單引號:
'允許包含有 "雙" 引號', - 雙引號:
"允許包含有 '單' 引號", - 三重引號:
'''三重單引號''',"""三重雙引號""",使用三重引號的字串可以跨越多行,其中所有的空白字符都將包含在該字串字面值中,
舉例如下所示:
'微信公眾號:碼農阿杰'
'微信公眾號:"碼農阿杰"' # 單引號允許包含雙引號
"CSDN 博客地址 https://blog.csdn.net/manongajie"
"CSDN 博客地址 'https://blog.csdn.net/manongajie'" # 雙引號允許包含單引號
'''
弱水三千,只取一瓢飲;
嬌玫萬朵,獨摘一枝憐,
'''
"""
滿天星斗,只見一顆芒;
人海茫茫,唯系你一人,
"""
2 處理字串中的引號問題
2.1 分析字串中的引號問題
當字串內容中出現引號時(指的是字串中出現的引號與定義字串的引號相同),我們需要進行處理,否則 Python 解釋器會報錯,
舉例如下所示:
print('I'm CodeFarmer_Ajie')
運行結果:
print('I'm CodeFarmer_Ajie')
^
SyntaxError: invalid syntax
可以這么理解,因為 Python 解釋器會把遇到的第一個單引號到再次遇到單引號之間的內容當做字串,也就是說 Python 解釋器會將字串中的單引號與第一個單引號配對,這樣就會把'I'當成字串,而后面的m CodeFarmer_Ajie''就變成了多余的內容,從而導致語法錯誤,
對于這種問題,我們有兩種處理方法,如下內容所示,
2.2 處理方法一:對引號進行轉義
在需要轉義的引號前添加轉義字符 \即可,
舉例如下所示:
str_demo = 'I\'m CodeFarmer_Ajie'
print(str_demo)
運行結果:
I'm CodeFarmer_Ajie
2.3 處理方法二:使用不同的引號包含字串
- 如果字串內容中出現了單引號,那么我們可以使用雙引號包圍字串,
- 如果字串內容中出現了雙引號,那么我們可以使用單引號包圍字串,
舉例如下所示:
str_demo1 = "I'm CodeFarmer_Ajie" # 如果字串內容中出現了單引號,那么我們可以使用雙引號包圍字串,
str_demo2 = '英文雙引號為:"'
print(str_demo1)
print(str_demo2)
運行結果:
I'm CodeFarmer_Ajie
英文雙引號為:"
3 處理字串的換行問題
Python 對程式的換行有嚴格的語法要求,
想要換行書寫一個比較長的字串,必須在行尾添加反斜杠 \,
舉例如下所示:
str_demo = '弱水三千,只取一瓢飲;\
嬌玫萬朵,獨摘一枝憐,'
print(str_demo)
運行結果:
弱水三千,只取一瓢飲; 嬌玫萬朵,獨摘一枝憐,
4 Python 長字串
由三個雙引號"""或者三個單引號'''包圍的字串,被稱為 Python 長字串,
簡單理解,長字串,就是可以直接換行(不用加反斜杠\)書寫的字串,
當程式中有大段文本內容需要寫成字串時,建議使用長字串形式,因為長字串形式非常強大,可以在字串中放置任何內容,包括單引號和雙引號,
語法格式如下所示:
"""長字串內容"""
'''長字串內容'''
在《Python 注釋詳解》文章中有講到可以使用三個單引號或者三個雙引號對多行內容進行注釋,這其實就是 Python 的長字串,如果長字串沒有賦值給任何變數,那么這個長字串就不會起到任何作用,和一段普通的文本無異,相當于注釋(注意:Python 解釋器并不會忽略長字串,同樣會按照語法決議,只不過長字串沒有實際作用),
5 Python 原始字串
5.1 Python 原始字串概述
在普通字串或者長字串的開頭加上 r 前綴,就變成了原始字串,
在原始字串中,反斜杠 \ 不會被當作轉義字符,所有的內容都會保持原來的樣子,
格式如下所示:
str1 = r'原始字串內容'
str2 = r"""原始字串內容"""
舉例如下所示:
str_demo = r'D:\Data\Tools\Python382\python.exe'
print(str_demo)
運行結果:
D:\Data\Tools\Python382\python.exe
5.2 處理原始字串中的引號問題
普通格式的原始字串中如果出現了引號,是需要對引號進行轉義的,否則 Python 照樣無法對字串的引號精確配對,
但是,又和普通字串有所不同,此時用于轉義的反斜杠會變成字串內容的一部分,
注意:Python 原始字串中的反斜杠仍然會對引號進行轉義,因此原始字串的結尾處不能有反斜杠,否則字串結尾處的引號會被轉義,導致字串不能正確結束,
舉例如下所示:
str_demo = r'I\'m CodeFarmer'
print(str_demo)
運行結果:
I\'m CodeFarmer
以上問題有兩種解決辦法:
- 第一種:改用長字串的寫法,不要使用原始字串,
- 第二種:單獨書寫反斜杠,
舉例如下所示:
# 列印 D:\Data\Tools\Python382\
str_demo = r'D:\Data\Tools\Python382''\\' # 字串拼接
print(str_demo)
運行結果:
D:\Data\Tools\Python382\
6 Python 字串常用方法詳解
請參見博文 《Python 字串常用方法詳解》,
【文章其它地址】
微信公眾號:碼農阿杰
CSDN 博客
【參考資料】
Python 官網
Python 3.8.2 documentation
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/144582.html
標籤:Python
上一篇:Django的ListView超詳細用法(含分頁paginate功能)
下一篇:Python 二進制序列(位元組序列)型別之一:bytes [學習 Python 必備基礎知識][看此一篇就夠了][文本序列(str)轉換成位元組序列(bytes)][位元組序列轉換為文本序列]
