<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    習題 10: 那是什么??

    在習題 9 中我你接觸了一些新東西。我讓你看到兩種讓字符串擴展到多行的方法。第一種方法是在月份之間用 \n (back-slash n )隔開。這兩個字符的作用是在該位置上放入一個“新行(new line)”字符。

    使用反斜杠 \ (back-slash) 可以將難打印出來的字符放到字符串。針對不同的符號有很多這樣的所謂“轉義序列(escape sequences)”,但有一個特殊的轉義序列,就是 雙反斜杠(double back-slash) \\ 。這兩個字符組合會打印出一個反斜杠來。接下來我們做幾個練習,然后你就知道這些轉義序列的意義了。

    另外一種重要的轉義序列是用來將單引號 ' 和雙引號 " 轉義。想象你有一個用雙引號引用起來的字符串,你想要在字符串的內容里再添加一組雙引號進去,比如你想說"I "understand" joe.",Python 就會認為 "understand" 前后的兩個引號是字符串的邊界,從而把字符串弄錯。你需要一種方法告訴 python 字符串里邊的雙引號不是真正的雙引號。

    要解決這個問題,你需要將雙引號和單引號轉義,讓 Python 將引號也包含到字符串里邊去。這里有一個例子:

    "I am 6'2\" tall."  # 將字符串中的雙引號轉義
    'I am 6\'2" tall.'  # 將字符串種的單引號轉義
    

    第二種方法是使用“三引號(triple-quotes)”,也就是 """,你可以在一組三引號之間放入任意多行的文字。接下來你將看到用法。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    tabby_cat = "\tI'm tabbed in."
    persian_cat = "I'm split\non a line."
    backslash_cat = "I'm \\ a \\ cat."
    
    fat_cat = """
    I'll do a list:
    \t* Cat food
    \t* Fishies
    \t* Catnip\n\t* Grass
    """
    
    print tabby_cat
    print persian_cat
    print backslash_cat
    print fat_cat
    

    你應該看到的結果?

    注意你打印出來的制表符,這節練習中的文字間隔對于答案的正確性是很重要的。

    $ python ex10.py
    	I'm tabbed in.
    I'm split
    on a line.
    I'm \ a \ cat.
    
    I'll do a list:
    	* Cat food
    	* Fishies
    	* Catnip
    	* Grass
    
    $
    

    加分習題?

    1. 上網搜索一下還有哪些可用的轉義字符。
    2. 使用 ''' (三個單引號)取代三個雙引號,看看效果是不是一樣的?
    3. 將轉義序列和格式化字符串放到一起,創建一種更復雜的格式。
    4. 記得 %r 格式化字符串嗎?使用 %r 搭配單引號和雙引號轉義字符打印一些字符串出來。 將 %r 和 %s 比較一下。 注意到了嗎?%r 打印出來的是你寫在腳本里的內容,而 %s 打印的是你應該看到的內容。

    Project Versions

    Table Of Contents

    Previous topic

    習題 9: 打印,打印,打印

    Next topic

    習題 11: 提問

    This Page

    97av