輸出函數基本使用方法
# -*- coding: utf-8 -*-
print "Mary had a little lamb."
print "Its fleece was white as %s." % 'snow'
print "And everywhere that Mary went."
print "." * 10 #這個輸出是什麼
end1 = "C"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
# 注意一下最後的那個逗號,看把它刪除後會有什麼情況發生
print end1 + end2 + end3 + end4 + end5 + end6,
print end7 + end8 + end9 + end10 + end11 + end12
# 去掉逗號後的結果
print end1 + end2 + end3 + end4 + end5 + end6
print end7 + end8 + end9 + end10 + end11 + end12
得到的結果:
可以看到,我們首先使用了最簡單的輸出,直接輸出字符串的方式。然後,用了格式化輸出的當時,使用先用%s代替字符串,然後通過在後加一個字符串得到。第三句還是正常輸出。第四句,我們通過一個乘法運算得到了10個點號,這裏我們引入了一個字符串的乘法運算來簡化多個點的輸出。第五據和第六句都是對 Cheese Burger,這兩個輸出的區別可以明顯的看出,第一個輸出在,出加了空格後輸出,而第二個輸出是用轉行得到的輸出結果。可以看到,如果不想以下輸出內容到下一行,我們可以將這個輸出的最後加上一個逗號。
輸出函數對元組的使用
在以上輸出中第二句的輸出,我們還可以對其進行更加深入的探索。這句輸出是針對元組來輸出的。也就是一個()帶的組合例如(1,1,1,1)。下面,我們通過一個實例來對這種輸入進行更全面的瞭解。
# -*- coding: utf-8 -*-
formatter = "%r %r %r %r"
print formatter % (1, 2, 3, 4) #四個整數
print formatter % ("one", "two", "three", "four") #四個字符串
print formatter % (True, False, False, True) #四個bool類型輸出
print formatter % (formatter, formatter, formatter, formatter) #四個變量類型字符串
print formatter % ( #四個字符串
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
)
得到的結果:
首先使用一個formatter來定義四個輸出變量,%r代表的是字符串(使用repr轉換任意python對象),也就是說它獲取的是最原始的字符串數據,並且獲得更多的輸出數據。這裏,我們對其使用了各種類型的數據,發現輸出都是不錯的。這裏需要注意的是最後一句輸出,我們發現,第三個輸出用的是雙引號,而其他三句都使用的是單引號。這裏就可以體現出雙引號和單引號同時使用的優勢了,在輸出語句裏面有單引號的時候我們就可以用雙引號輸出並且不影響單引號的輸出。
特別提醒:%r讀中文的話是會出現亂碼的,如果想讀中文,還是使用%s
換行符的使用
在python裏面,如果你想輸出的時候換行有很多種方法。一種就是上一節中提到的,用兩個print進行輸出;第二種就是在你想換行的地方加入\n的換行符;第三種就是直接使用”“”的方式進行輸出可以直接換行。
下面的例子就是我們對着三種方式的使用:
# -*- coding: utf-8 -*-
#換行符的使用
days = "Mon Tue Wed Thu Fri Sat Sun"
months = "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug"
print "Here are the days: ", days
print "Here are the months: ", months
print """
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
"""
得到的結果:
我們可以看出最終得到的months,以及最後一個使用三個雙引號”“”的都可以換行輸出。
輸出符號的方法
在上節內容中,我們可以看到對換行符的使用。這節主要針對輸出的符號表達。在上節中,我們瞭解了三種表達字符串的方式,單引號’表達,雙引號”表達,以及”“”表達。這三種表達方式各有各的優勢,主要體現在以下三點:
- 單引號表示的字符串裏可包含雙引號,當然不能包含單引號
- 雙引號表示的字符串裏可以包含單引號,字符串都只能有一行
- 三個引號能包含多行字符串,同時常常出現在函數的聲明的下一行,來註釋函數的功能,與衆不同的地方在於,這個註釋作爲函數的一個默認屬性,可以通過 函數名.doc 來訪問
在上節中,我們看到了換行符”\n”,這裏出現了一個問題,既然”\n”表現了換行,那麼\應該怎麼輸出呢。還有就是”i say , “hello” you” 。如果你使用雙引號,在雙引號裏面怎麼輸出雙引號呢,因爲在遇到第二個雙引號的時候,python就會認爲字符串結束了,那後面的輸入就屬於語法錯誤。這些符號都應該怎麼輸出呢,這裏我們給出了一個輸出字符串的列表:
escape字符 | 表達的字符 |
---|---|
\ | 反斜槓() |
\’ | 單引號(’) |
\” | 雙引號 (“) |
\a | ASCII (BEL) |
\b | ASCII backspace (BS) |
\f | ASCII formfeed (FF) |
\n | ASCII linefeed (LF) |
\N{name} | 以unicode編碼的數據庫裏的名稱 (Unicode only) |
\r | 回車 (CR) |
\t | 16進制tab (TAB) |
\uxxxx | 16進制hex編碼的字母 xxxx (Unicode only) |
\Uxxxxxxxx | 32進制hex編碼的字母 xxxxxxxx (Unicode only) |
\v | ASCII vertical tab (VT) |
\ooo | 八進制的字符 ooo |
\xhh | hex編碼的字符 hh |