python 打印, 打印

2021-09-15 14:43 更新

練習(xí)8.打印, 打印

現(xiàn)在,我們學(xué)習(xí)一個(gè)字符串怎樣使用更復(fù)雜的格式化字符。下面的代碼看起來(lái)很復(fù)雜,但是如果你能將代碼分段,并給每一行加上注釋,你一樣可以弄明白代碼的意思。

formatter = "%r %r %r %r"

print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
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."
)

你看到結(jié)果

$ python ex8.py
1 2 3 4
'one' 'two' 'three' 'four'
True False False True
'%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'
'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'

仔細(xì)研究一下,并嘗試分析下我是怎樣在一個(gè)格式化字符串內(nèi)部嵌套使用格式化的

附加題

1.自己檢查結(jié)果,記下你犯過(guò)的錯(cuò)誤,并且在下個(gè)練習(xí)中盡量不犯同樣的錯(cuò)誤。2.注意最后一行程序中既有單引號(hào)又有雙引號(hào),你覺(jué)得它是如何工作的?

常見(jiàn)問(wèn)題

Q:我可以用%s或者%r來(lái)格式化字符串嗎?

可以用%s,但是盡量在做調(diào)試的時(shí)候使用%r。%r顯示的是變量“原始”的數(shù)據(jù)值,%r在打印的時(shí)候能夠重現(xiàn)它代表的對(duì)象。

Q:為什么給one使用引號(hào),而不給TrueFalse使用?

Python識(shí)別 TrueFalse表示真假的概念。如果你給它們加上引號(hào),它們就變成了字符串,而不能用來(lái)判別真假了。在后面的習(xí)題27里,你會(huì)學(xué)到這些布爾值是如何運(yùn)行的。

Q: 我嘗試在字符串中輸入一些中文(或者其它非ASCII字符),但是%r打印出一些奇怪的符號(hào)。

換成%s試試,就能正常打印啦。

Q:為什么有時(shí)候我寫(xiě)的是雙引號(hào),而%r打印輸出的是單引號(hào)?

Python可以用最有效的方式打印輸出字符串,而不是直接復(fù)制你寫(xiě)的代碼。你說(shuō)的情況是很正常的,因?yàn)?code>%r常用來(lái)調(diào)試或檢查,因此沒(méi)必要將它輸出的很漂亮。

Q:這些代碼在Python3中為什么沒(méi)有執(zhí)行?

不要用Python3.用python2.7會(huì)好一些,最好用Python2.6。

Q:我可以用IDE來(lái)執(zhí)行程序嗎?

不行,你現(xiàn)在需要學(xué)習(xí)使用命令行模式。這是你開(kāi)始學(xué)習(xí)編程最好的方法,對(duì)你學(xué)習(xí)編程是很重要的。IDE不利于你使用本書(shū)學(xué)習(xí)編程。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)