簡體   English   中英

有人可以解釋一下這些Python字符串格式化程序嗎

[英]Can someone please explain these Python string formatters

我對Python字符串格式化程序%d和%i之間的區別感到困惑。 Python手冊頁將它們解釋為相同的東西,即“有符號整數十進制 ”-困惑!

Python字符串格式化程序

從Python“內置類型”頁面

他們是完全一樣的東西。

Python的繼承了C,在這里你可以使用相同的格式在語法scanf()函數來解析輸入變量。 然后,您可以在其中使用%i接受帶有0x前綴的十六進制格式的整數,以0 0x八進制表示法以及常規的十進制(以10為基數)整數,而%d格式化程序嚴格僅接受十進制整數輸入。

但是,在使用printf函數輸出時,將使用%x%o顯式地始終將輸出格式化為十六進制和八進制,並且%d%i只是同義詞,並且輸出十進制整數。 Python沒有繼承等效的scanf格式,而是繼承了printf格式的批發,別名和所有格式。

請參見printfscanf聯機幫助頁。

較新的Format Specification Mini-language (在str.format()方法format()函數中使用 )完全消除了i格式化程序; 只有d在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM