作業系統:window
語言環境:python
首先,我們來看一段**:
a =
('adfafa'
,'addfdedf'
'abbbbbeadf'
)print
(min
(a))
# 輸出結果為:addfdedfabbbbbeadf
輸出結果是不是和你想的一樣呢?
有沒有人能解釋下,為什麼會是這樣的結果呢?如果能,那就不用浪費時間看下文了。
如果不能,那就跟著我一起來學習下字串的知識。
s =
'hello world'
# 單引號
s ="hello world"
# 雙引號
s ='''hello world'''
# 三單引號
s ="""hello world"""
# 三雙引號
我們知道在python中,字串必須是由一對單引號或雙引號或三引號包裹起來的。
那麼,像』addfdedf』 'abbbbeadf』這樣的寫法,python是怎麼識別它的呢?換句話說,python是如何判斷乙個string的呢?
「第一步:查詢開始識別符號」
如果首位不是識別符號:
(1)那就看是否是空格,如果不是空格,那就直接報語法錯;
(2)如果是,那就忽略不計,繼續挨著往下檢查,迴圈第一步,直至遇到第乙個識別符號,也就是開始識別符號,才可以進入到第二步;
「第二步:確認開始識別符號的型別,並查詢相應配對的結束識別符號」
1. 如果首位是識別符號:
2. 這裡還要判斷是單引號,還是雙引號;這一步的意義在於告訴計算機在接下來的查詢中,要依照什麼模樣來尋找匹配的那個結束識別符號,這一點非常重要。
3. 接著再看連續出現幾個單引號或雙引號;
(1)也就是再接著看第二位是否還是單引號或雙引號:
a. 如果是,那就接著看第三位是否還是單引號或雙引號;(略)
因排版不方便,詳情可見:
「第三步:始終檢查語法,直至最後乙個位元組符號」
# print('dfafadfa''''''''' '''''''x')
# print('a'''''' b ''''''''''c')
# print("''''''''''")
# print('""""""""')
# print("""""""")
# print(""""""""""""""""""")
# print(r"cccc:/\fdj")
# print(r'"a''''''''' b '''''''c'"')
# print(r'"a')
# print('''abc''''d','e')
# print('''abc''''d',,'','e',' f')
# print('''abc''''d ' , '','e',' f')
# print('a',)
# print('abc")
# print( "abc")
# print('a''b''c')
# print('a' 'b' 'c')
怎麼樣,都做對了嗎? python字串引號和轉義 單引號字串和轉義符
1 單引號字串和轉義符 字串和數字一樣都是值,可以直接使用,在python控制台中直接輸入字串,如 hello world 會按原樣輸出該字串,只不過用單引號擴了起來 hello world hello world 那麼用雙引號和單引號括起來的字串有什麼區別呢?其實沒有任何區別,只不過在輸出單引號或...
Python 引號 注釋 字串
python3.6.3 json 2.0.9 win10.0.17134 不可變型別,可迭代物件,有序 可索引 切片 用引號引起來表示 見 引號 內部 表示轉義,引號前面加 r 禁用轉義 只有 後面的真的是注釋,不會被直譯器執行 與內容之間至少乙個空格 注釋一般放在被注釋 的上面 如果注釋用在同行 ...
python中字典轉字串單引號變雙引號
兩種方法 str 以及json.dumps 注意 單引號雙引號的區別 str方法將其變為單引號,json.dumps方法仍是雙引號!import json d print type d str d str d print str d str d print str d的型別 type str d j...