零基礎入門學習python_003筆記及作業_字串與轉譯
這篇主要記錄字串的部份。
字串就是文字。
要讓python辨認是否是字串,就看字串前後有無「'」或「"」引號。
「123」是數字;
「'123'」和「"123"」就是字串。
在字串中有時會碰到特殊的情況,
比方說想使用字串「Let's Go」,
如果輸入'Let's Go'的話會有問題,
因為python無法辨識中間的「'」引號該跟字首還是字尾的「'」引號一組。
解法1:使用雙引號「"Let's Go"」
解法2:使用轉譯符號「'Let\'s Go' 」
轉譯符號「\」會將特殊符號轉譯成單純的文字以供python識別。
轉譯符號會再衍生跳脫字元
=============================以下為跳脫字元=============================
\\ 表示反斜線\
\' 表示單引號'
\" 表示雙引號"
\a ASCII裡的Bell,「鈴聲」
\b ASCII裡的Backspace,「倒退」
\f ASCII裡的Formfeed,「換頁」
\n ASCII裡的Linefeed,「換行」
\N{name} 在Unicode裡名為name代表的字元
\r ASCII裡的Carriage Return,「返回」
\t ASCII裡的Horizontal Tab,「水平跳格」
\uxxxx Unicode裡16位元的xxxx在16進制裡代表的字元
\Uxxxxxxxx Unicode裡32位元的xxxxxxxx在16進制裡代表的字元
\v ASCII裡的Vertical Tab,「垂直跳格」
\ooo ooo在8進制代表的字元
\xhh hh在16進指代表的字元
\0 代表ASCII裡的 NULL,但是並不中斷字串
======================================================================
舉例來說:
>>>temp = '舉頭望明月,\n低頭思故鄉。'
>>>print(temp)
舉頭望明月,
低頭思故鄉。
>>>
可以知道\n的作用就是「換行」。
這種尷尬的狀況會發生在「路徑」裡面。
比方說temp = 'C:\user\nova'
對於\user的\,python會不知道要轉譯什麼符號;
而對於\nova的\n會誤以為是跳脫字元。
所以python會產生程式碼錯誤。
解法1:temp = 'C:\\user\\nova'
全部多加一次轉譯,讓字串正常
解法2:temp = r'C:\user\nova'
這裡的「r」就是所謂的「原始字串」,
他會協助python自動在每一個「\」前面多加一次轉譯,讓字串正常。
=============================第三課作業=============================
第三課作業:如果非要在原始字串結尾輸入反斜線,可以如何靈活處理?
python安裝路徑:C:\Users\User\AppData\Local\Programs\Python\Python36-32
1. 字串做法:path = 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python36-32\\'
全部手動加上轉譯符號,則結尾也可以加上反斜線
2. 原始字串做法(作業答案):
path = r'C:\Users\User\AppData\Local\Programs\Python\Python36-32'+'\\'
字串就是文字。
要讓python辨認是否是字串,就看字串前後有無「'」或「"」引號。
「123」是數字;
「'123'」和「"123"」就是字串。
在字串中有時會碰到特殊的情況,
比方說想使用字串「Let's Go」,
如果輸入'Let's Go'的話會有問題,
因為python無法辨識中間的「'」引號該跟字首還是字尾的「'」引號一組。
解法1:使用雙引號「"Let's Go"」
解法2:使用轉譯符號「'Let\'s Go' 」
轉譯符號「\」會將特殊符號轉譯成單純的文字以供python識別。
轉譯符號會再衍生跳脫字元
=============================以下為跳脫字元=============================
\\ 表示反斜線\
\' 表示單引號'
\" 表示雙引號"
\a ASCII裡的Bell,「鈴聲」
\b ASCII裡的Backspace,「倒退」
\f ASCII裡的Formfeed,「換頁」
\n ASCII裡的Linefeed,「換行」
\N{name} 在Unicode裡名為name代表的字元
\r ASCII裡的Carriage Return,「返回」
\t ASCII裡的Horizontal Tab,「水平跳格」
\uxxxx Unicode裡16位元的xxxx在16進制裡代表的字元
\Uxxxxxxxx Unicode裡32位元的xxxxxxxx在16進制裡代表的字元
\v ASCII裡的Vertical Tab,「垂直跳格」
\ooo ooo在8進制代表的字元
\xhh hh在16進指代表的字元
\0 代表ASCII裡的 NULL,但是並不中斷字串
======================================================================
舉例來說:
>>>temp = '舉頭望明月,\n低頭思故鄉。'
>>>print(temp)
舉頭望明月,
低頭思故鄉。
>>>
可以知道\n的作用就是「換行」。
這種尷尬的狀況會發生在「路徑」裡面。
比方說temp = 'C:\user\nova'
對於\user的\,python會不知道要轉譯什麼符號;
而對於\nova的\n會誤以為是跳脫字元。
所以python會產生程式碼錯誤。
解法1:temp = 'C:\\user\\nova'
全部多加一次轉譯,讓字串正常
解法2:temp = r'C:\user\nova'
這裡的「r」就是所謂的「原始字串」,
他會協助python自動在每一個「\」前面多加一次轉譯,讓字串正常。
=============================第三課作業=============================
第三課作業:如果非要在原始字串結尾輸入反斜線,可以如何靈活處理?
python安裝路徑:C:\Users\User\AppData\Local\Programs\Python\Python36-32
1. 字串做法:path = 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python36-32\\'
全部手動加上轉譯符號,則結尾也可以加上反斜線
2. 原始字串做法(作業答案):
path = r'C:\Users\User\AppData\Local\Programs\Python\Python36-32'+'\\'
留言
張貼留言