日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python语言格式化输出_Python | 格式化输出字符串

發布時間:2025/3/19 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python语言格式化输出_Python | 格式化输出字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直以來,字符串的格式化輸出對于編程來說,尤其是新手,還是挺麻煩的。對于這部分的內容,筆者的建議是,只要大致能滿足輸出要求,越簡單越好,別整那復雜的~(圖文無關[俏皮])

工具/原料

Python 2.7.11

問題

今天寫這個經驗的緣由是看到下面這個字符串輸出的提問

問:排版最后怎么是歪的呢!麻煩大神們看看為什么!

下面是具體代碼:(文末會解答這個問題)

END

背景知識

在Python我們有很方便的格式化字符串函數format。應該說自從用了format函數以后,傳統的字符格式化筆者已經不會再用了^_^。下圖是占位符用法

下面是簡單的格式化用法。應該說掌握這兩部分內容已經可以處理大部分的字符串格式化問題了。更多的format函數的用法大家可以參考文末鏈接。

END

測試

1

我們先來看一下下面這部分代碼。看起來這是一份無懈可擊的代碼了,所有的打印輸出都是用相同的format函數,并且每行字符的長度(還是個數?)都是相同的20

2

然而,通過運行代碼,觀察結果,我們發現,現實跟預想有差距。

我們發現,所有含中文的格式化字符串的輸出在“長度”上都比英文字符要短。所以我們有理由推測,format函數里面的20表示的是字節數。因為,一個漢字是兩個字節的

3

所以按照上面的推測,我們重新調整了包含漢字的輸出代碼:

對11行代碼因為有3個漢字,把需要的字節數增加到23

對12行代碼因為有2個漢字,把需要的字節數增加到22

測試的結果,可以說,是完美的:)

END

解決步驟

1

現在我們回到原來的問題。我們看到,問題中的格式問題其實就是我們在上面的測試中發現的因中文引起的問題。

2

考慮到代碼中使用了兩種格式化字符串技術,為了方便起見(簡單~),我們先調整一下代碼,把代碼轉換為使用format函數的寫法

3

好,現在我們按照測試的時候的方法,對于包含中文的字符串,增加打印的字節數。表頭表尾也不能忍,也一并改了。效果棒棒噠~

4

我們再一次review代碼,發現第三個的占位符里面有多余的代碼,于是刪除了。發現刪除后內容部分最后一行的對齊方式發生了變化,還是漢字字數的問題,再調整!

5

好,現在我們的問題在這里是解決了,完全的!

END

One More Thing

其實對于這個問題是有一種很簡單純粹也很暴力的方法了,推薦大家多多使用~

我們來看新的代碼

有兩個問題大家要注意。content這個變量是直接把打印內容用三個引號括起來的,這樣里面的內容就有了一個新名字“文本字符串”,而它里面的格式是真正所見即所得的,大家手動對齊就好了。打印出來就是這個效果。

對于另一個問題,是關于print函數的。我們知道print函數默認是會換行的,所以如果換另外一種更直觀的寫法,我們需要在print函數后面加逗號。完。

END

注意事項

format官方介紹:https://docs.python.org/2/library/string.html#formatspec

經驗內容僅供參考,如果您需解決具體問題(尤其法律、醫學等領域),建議您詳細咨詢相關領域專業人士。

舉報作者聲明:本篇經驗系本人依照真實經歷原創,未經許可,謝絕轉載。

展開閱讀全部

總結

以上是生活随笔為你收集整理的python语言格式化输出_Python | 格式化输出字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。