print多重打印

碰見有趣的問題必須記錄下來,當時的想法思路也要記下來測試

如下兩行代碼打印出來的結果會是什麼spa

print('2 * 3 = %d' % (2 * 3))
print('2 * 3 = %d' % 2 * 3)

對於第一行代碼,學過字符串格式化後,很容易就能看出來,打印結果爲:code

那麼第二行呢,想了好一下子實在是想不出來這行代碼打印出來的結果是什麼blog

因而就打印了一下結果,感受挺有趣的,第二行代碼的打印結果是:字符串

乍一看,這什麼玩意兒,根本沒有頭緒,爲何打印出來的結果會是這樣class

思惟定勢,受到了等號的影響,當時想的是2 * 3是等於2(字符串格式化)的呀,等於22是什麼鬼,並且爲何會有三個等號基礎

看到三個等號的時候,想着多是因爲後邊 * 3 的問題,可是當時一直沒想到能夠用其餘形式的代碼來驗證im

通過高人指點,他說:‘2 * 3’ * 3 print 一下這個看看,堅決果斷的就執行了一下,結果立馬瞭然img

print('2 * 3' * 3)

這行代碼的打印結果是:di

 看到這裏,想必有點代碼基礎的人都能看明白了

後面接 * 3 就是 print語句要打印3次字符串

因爲字符串是數字,又有等號,數字又簡單,很容易就能本身算出接過來,容易受到思惟定勢的影響,一直在想爲何會是這個結果

其實,若是是大點的數字,一會兒算不出來的那種,可能就會很容易知道這個語句的執行狀況

print('15612 * 1546 = %d' % 15612 * 1546)

例如執行上述代碼,執行結果爲:

看到這麼一大串,很容易就會想到,那個 * 1546 是否是就是打印了 1546 次,而後再想到簡單的測試代碼

print('Hello world' * 3)

這個結果就很容易能弄明白這個語句形式的奧妙了

相關文章
相關標籤/搜索