雖然你已經在程式中寫過字串了,你還沒學過它們的用處。在這章習題中我們將使用複雜的字串來建立一系列的變數,從中你將學到它們的用途。首先我們解釋一下字串是什麼東西。
字串通常是指你想要展示給別人的、或者是你想要從程式裡「匯出」的一小段字元。python 可以通過文字裡的雙引號 " 或者單引號 ' 識別出字串來。這在你以前的 print 練習中你已經見過很多次了。如果你把單引號或者雙引號括起來的文字放到 print 後面,它們就會被 python 列印出來。
字串可以包含格式化字元 %s,這個你之前也見過的。你只要將格式化的變數放到字串中,再緊跟著乙個百分號 % (percent),再緊跟著變數名即可。唯一要注意的地方,是如果你想要在字串中通過格式化字元放入多個變數的時候,你需要將變數放到 ( ) 圓括號(parenthesis)中,而且變數之間用 , 逗號(comma)隔開。就像你逛商店說「我要買牛奶、麵包、雞蛋、八寶粥」一樣,只不過程式設計師說的是」(milk, eggs, bread, soup)」。
我們將鍵入大量的字串、變數、和格式化字元,並且將它們列印出來。我們還將練習使用簡寫的變數名。程式設計師喜歡使用惱人的難度的簡寫來節約打字時間,所以我們現在就提早學會這個,這樣你就能讀懂並且寫出這些東西了。
1 x = "view codethere are %d types of people.
" % 10
2 binary = "
binary
"3 do_not = "
don't
"4 y = "
those who know %s and those who %s.
" %(binary, do_not)56
printx 7
printy 8
9print
"i said: %r.
" %x
10print
"i also said: '%s'.
" %y
1112 hilarious =false
13 joke_evaluation = "
isn't that joke so funny?! %r"14
15print joke_evaluation %hilarious
1617 w = "
this is the left side of...
"18 e = "
a string with a right side."19
20print w + e
關於 %r 輸出與引號的問題參考:
1. 通讀程式,在每一行的上面寫一行註解,給自己解釋一下這一行的作用。
2. 找到所有的」字串包含字串」的位置,總共有四個位置。
3. 你確定只有四個位置嗎?你怎麼知道的?沒準我在騙你呢。
4. 解釋一下為什麼 w 和 e 用 + 連起來就可以生成乙個更長的字串。
4.在python中,string物件是定長物件,一旦建立,長度就不可變化,若是使用+號連線兩個字串,則會新開闢一段長度總和長度的記憶體,再將兩個字串memcpy進去。如果要連線n個string物件,則要進行n-1次記憶體申請和拷貝。
官方推薦的是使用字串的join方法,該方法對於連線乙個list或tuple中的元素非常有效,他會先統計所有元素的長度,申請記憶體,然後拷貝。
笨辦法學Python
1.知識點 13節講的主要是module 模組 的概念,常用的語法是from xx import 依託於python強大的模組庫,使得呼叫十分輕鬆,功能十分強悍。argv叫做引數變數,可以理解為乙個包裹,在解包 unpack 的時候,將引數值賦給不同的變數名,其中第乙個變數是 隱藏 的,用來指代檔案...
笨辦法學Python(三十)
前一習題中你寫了一些 if 語句 if statements 並且試圖猜出它們是什麼,以及實現的是什麼功能。在你繼續學習之前,我給你解釋一下上一節的加分習題的答案。上一節的加分習題你做過了吧,有沒有?你認為 if 對於它下一行的 做了什麼?if 語句為 建立了乙個所謂的 分支 就跟 rpg 遊戲中的...
《笨辦法學python》習題38 40
mystuff 然後作者又給出了乙個錯誤的情況 class thing object def test hi print hia thing a.test hello 錯誤原因是test 只可以接受乙個引數,卻給了兩個。也就是 a.test hello 實際上是test a,hello 從這裡開始到...