1、input和input_raw的區別
input函數會假設用戶的輸入是合法的python表達式;換言之,如果是字符串,就必須加上雙引號,否則程序會認為是一個變量。如下圖所示,input把輸入的daniel認為是一個變量名,報錯名稱daniel的變量未定義。
而input_raw函數,會把所有輸入當做原始數據,放入字符串中。作為界面輸入,要求用戶每次手工輸入雙引號把字符串括起來是不合常理的,因此,我們應盡量使用input_raw。
input和input_raw函數對比
2、長字符串
要輸入一個跨行的、超長的字符串,可以使用三個引號。用三個引號還有一個間接的好處,中間如果要使用單引號或者雙引號,都不必再用反斜杠轉義了。
三個引號的長字符串
3、原始字符串
反斜杠在字符串中被用作轉義字符,例如:\n ? \\
如果我們不希望反斜杠被視為轉義符,可以在字符串前加上r開頭,表示原始字符串。
最前面加上r后\n不會被誤識別為換行符
需要注意的是,原始字符串不能以\結尾,否則解釋器會以為末尾的\" 或者\'是一個轉義字符,而實際上我們的輸入已經完畢。
原始字符串的末尾是反斜杠
4、Unicode的字符串
Unicode字符串用16位來存儲一個字符,可以表示世界上大多數語言的特殊字符。用法就是在字符串前面加上字母u,例如:u'Welcome to China'