鍍金池/ 教程/ Python/ exercise6.字符串和文本
附錄 A-練習(xí) 9:生成一個空文件(Touch, New-Item)
附錄 A-練習(xí) 10:復(fù)制文件 (cp)
exercise44.繼承 Vs.包含
附錄 A-練習(xí) 14:刪除文件 (rm)
附錄 A-練習(xí) 11:移動文件 (mv)
exercise46.項(xiàng)目骨架
附錄 A-練習(xí) 3:如果你迷路了
exercise37.復(fù)習(xí)符號
exercise47.自動化測試
exercise3.數(shù)字和數(shù)學(xué)計算
附錄 A-練習(xí) 1:安裝
exercise32.循環(huán)和列表
exercise31.做出決定
exercise42.對象、類、以及從屬關(guān)系
exercise48.更復(fù)雜的用戶輸入
下一步
簡介
附錄 A-練習(xí) 7:刪除路徑 (rmdir)
exercise49.寫代碼語句
exercise18.命名, 變量, 代碼, 函數(shù)
exercise12.提示別人
exercise14.提示和傳遞
exercise40.模塊, 類和對象
附錄 A-練習(xí) 12:查看文件 (less, MORE)
exercise9.打印, 打印, 打印
exercise13.參數(shù), 解包, 變量
exercise30. Else 和 If
exercise28. 布爾表達(dá)式
附錄 A-練習(xí) 4:創(chuàng)建一個路徑 (mkdir)
附錄 A-練習(xí) 15:退出命令行 (exit)
exercise25. 更多更多的練習(xí)
exercise6.字符串和文本
exercise2.注釋和井號“#”
exercise21. 函數(shù)的返回值
附錄 A-下一步
exercise1.第一個程序
exercise23. 閱讀代碼
附錄 A-練習(xí) 5:改變當(dāng)前路徑 (cd)
exercise17.更多文件操作
exercise24. 更多的練習(xí)
exercise19.函數(shù)和變量
exercise51.從瀏覽器獲取輸入
exercise22. 到目前為止你學(xué)到了什么?
exercise41.學(xué)會說面向?qū)ο?/span>
exercise52.開始你的 web 游戲
exercise20. 函數(shù)和文件
exercise15.讀文件
exercise45.你來制作一個游戲
exercise10.那是什么?
exercise8.打印, 打印
exercise35.分支和函數(shù)
exercise26. 恭喜你,可以進(jìn)行一次考試了
exercise33.while 循環(huán)
exercise29. IF 語句
exercise36.設(shè)計和調(diào)試
exercise0.安裝和準(zhǔn)備
exercise50.你的第一個網(wǎng)站
附錄 A-練習(xí) 2:路徑, 文件夾, 名錄 (pwd)
exercise38.列表操作
附錄 A-練習(xí) 6:列出當(dāng)前路徑 (ls)
exercise16.讀寫文件
exercise4.變量和命名
exercise34.訪問列表元素
exercise11.提問
exercise43.基本的面向?qū)ο蟮姆治龊驮O(shè)計
附錄 A-簡介
附錄 A-練習(xí) 8:目錄切換(pushd, popd)
來自老程序員的建議
exercise27. 記住邏輯
exercise5.更多的變量和打印
exercise7.更多的打印(輸出)
附錄 A-練習(xí) 13:輸出文件 (cat)
exercise39.字典,可愛的字典

exercise6.字符串和文本

雖然你已經(jīng)在程序中寫過字符串了,你還沒學(xué)過它們的用處。在這節(jié)練習(xí)中我們將使用復(fù)雜的字符串來建立一系列的變量,從中你將學(xué)到它們的用途。首先我們解釋一下字符串是什么。

字符串通常是指你想要展示給別人的、或者是你想要從程序里“導(dǎo)出”的一小段字符。Python 可以通過文本里的雙引號"或者單引號'識別出字符串來。這在你以前的 print 練習(xí)中你已經(jīng)見過很多次了。如果你把單引號或者雙引號括起來的文本放到 print 后面,它們就會被 python 打印出來。

字符串可以包含格式化字符%s,這個你之前也見過的。你只要將格式化的變量放到字符串中,再緊跟著一個百分號 %(percent),再緊跟著變量名即可。 唯一要注意的地方,是如果你想要在字符串中通過格式化字符放入多個變量的時候,你需要將變量放到 ( ) 圓括號(parenthesis)中,而且變量之間用, 逗號(comma)隔開。就像你逛商店說“我要買牛奶、面包、雞蛋、湯”一樣,只不過程序員說的是”(milk, eggs, bread, soup)”。

我們將練習(xí)輸入大量的字符串、變量、和格式化字符,并且將它們打印出來。我們還將練習(xí)使用簡寫的變量名。程序員喜歡用高難度的簡寫來節(jié)約打字時間,所以我們現(xiàn)在就提早學(xué)會這個,這樣你就能讀懂并且寫出這些東西了。

x = "There are %d types of people." % 10
binary = "binary"
do_not = "don't"
y = "Those who know %s and those who %s." % (binary, do_not)

print x
print y

print "I said: %r." % x
print "I also said: '%s'." % y

hilarious = False
joke_evaluation = "Isn't that joke so funny?! %r"

print joke_evaluation % hilarious

w = "This is the left side of..."
e = "a string with a right side."

print w + e

你看到的結(jié)果

$ python ex6.py
There are 10 types of people.
Those who know binary and those who don't.
I said: 'There are 10 types of people.'.
I also said: 'Those who know binary and those who don't.'.
Isn't that joke so funny?! False
This is the left side of...a string with a right side.

附加題

1.通讀程序,并給每一行加上注釋,解釋下這行的作用。 2.找到所有的”字符串包含字符串”的位置,總共有四個位置。 3.你確定只有四個位置嗎?你怎么知道的?也許我在騙你呢。 4.解釋一下為什么用+連起來 w 和 e 就可以生成一個更長的字符串。

常見問題

Q:%r 和 %s 有什么不同?

用%r 顯示的是變量“原始”的數(shù)據(jù)值,%r 在打印的時候能夠重現(xiàn)它代表的對象,但其他的符號用來給用戶顯示變量值??聪旅娴睦永斫庖幌拢?/p>

text = "I am %d years old." % 22 print "I said: %s." % text print "I said: %r." % text

返回的結(jié)果:

I said: I am 22 years old.. I said: 'I am 22 years old.'. // %r 給字符串加了單引號

Q:我遇到這個報錯:not all arguments converted during string formatting.

你要重新檢查你的代碼是否跟示例中的一樣。發(fā)生這個錯誤的原因是你寫的%的格式化字符串?dāng)?shù)量大于你給出的變量數(shù)量。再檢查一遍,看你的代碼哪里出錯了。

Q:為什么用'(單引號)標(biāo)識字符串而不是其他的符號?

大部分情況下這只是一種風(fēng)格,在一個用雙引號標(biāo)識的字符串內(nèi)部我也會用單引號來標(biāo)識其中子串??纯创a的第 10 行我是如何使用單雙引號的。如果你認(rèn)為一個笑話很好笑,你能否些 Ihilarious = True? 答案當(dāng)時是可以,而且,我們會在習(xí)題 27 中學(xué)到布爾值 。