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

歡迎訪問 生活随笔!

生活随笔

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

python

python输出1到9_1-9-Python格式化字符串(格式化输出)

發布時間:2023/12/15 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python输出1到9_1-9-Python格式化字符串(格式化输出) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python提供了“%”對各種類型的數據進行格式化輸出,例如如下代碼:

1.price = 108

2.print ("the book's price is %s" % price)

上面程序中的 print 函數包含以下三個部分,第一部分是格式化字符串(相當于字符串模板),該格式化字符串中包含一個“%s”占位符,它會被第三部分的變量或表達式的值代替;第二部分固定使用“%”作為分隔符。格式化字符串中的“%s”被稱為轉換說明符(Conversion Specifier),其作用相當于一個占位符,它會被后面的變量或表達式的值代替?!?s”指定將變量或值使用 str() 函數轉換為字符串。如果格式化字符串中包含多個“%s”占位符,第三部分也應該對應地提供多個變量,并且使用圓括號將這些變量括起來。例如如下代碼:

1.user = "Charli"

2.age = 8

3.# 格式化字符串有兩個占位符,第三部分提供2個變量

4.print("%s is a %s years old boy" % (user , age))

在格式化字符串中難道只能使用“%s”嗎?還有其他轉換說明符嗎?如果只有“%s”這一種形式,Python 的格式化功能未免也太單一了。實際上, Python 提供了如表 1 所示的轉換說明符:表 1 Python轉換說明符

轉換說明符說明

%d,%i轉換為帶符號的十進制形式的整數

%o轉換為帶符號的八進制形式的整數

%x,%X轉換為帶符號的十六進制形式的整數

%e轉化為科學計數法表示的浮點數(e 小寫)

%E轉化為科學計數法表示的浮點數(E 大寫)

%f,%F轉化為十進制形式的浮點數

%g智能選擇使用 %f 或 %e 格式

%G智能選擇使用 %F 或 %E 格式

%c格式化字符及其

%r使用 repr() 將變量或表達式轉換為字符串

%s使用 str() 將變量或表達式轉換為字符串

當使用上面的轉換說明符時,可指定轉換后的最小寬度,例如如下代碼:

1.num = -28

2.print("num is: %6i" % num)

3.print("num is: %6d" % num)

4.print("num is: %6o" % num)

5.print("num is: %6x" % num)

6.print("num is: %6X" % num)

7.print("num is: %6s" % num)

運行上面代碼,可以看到如下輸出結果:

num is:??? -28num is:??? -28num is:??? -34num is:??? -1cnum is:??? -1Cnum is:??? -28

從上面的輸出結果可以看出,此時指定了字符串的最小寬度為 6,因此程序轉換數值時總寬度為 6,程序自動在數值前面補充了三個空格。在默認情況下,轉換出來的字符串總是右對齊的,不夠寬度時左邊補充空格。Python 也允許在最小寬度之前添加一個標志來改變這種行為,Python 支持如下標志:

·-:指定左對齊。

·+:表示數值總要帶著符號(正數帶“+”,負數帶“-”)。

·0:表示不補充空格,而是補充0。

提示:這三個標志可以同時存在。

例如如下代碼:

1.num2 = 30

2.# 最小寬度為0,左邊補0

3.print("num2 is: %06d" % num2)

4.# 最小寬度為6,左邊補0,總帶上符號

5.print("num2 is: %+06d" % num2)

6.# 最小寬度為6,右對齊

7.print("num2 is: %-6d" % num2)

運行上面代碼,可以看到如下輸出結果:

num2 is: 000030num2 is: +00030num2 is: 30

對于轉換浮點數,Python 還允許指定小數點后的數字位數:如果轉換的是字符串,Python 允許指定轉換后的字符串的最大字符數。這個標志被稱為精度值,該精度值被放在最小寬度之后,中間用點 () 隔開。例如如下代碼:

1.my_value = 3.001415926535

2.# 最小寬度為8,小數點后保留3位

3.print("my_value is: %8.3f" % my_value)

4.# 最小寬度為8,小數點后保留3位,左邊補0

5.print("my_value is: %08.3f" % my_value)

6.# 最小寬度為8,小數點后保留3位,左邊補0,始終帶符號

7.print("my_value is: %+08.3f" % my_value)

8.the_name = "Charlie"

9.# 只保留3個字符

10.print("the name is: %.3s" % the_name) # 輸出Cha

11.# 只保留2個字符,最小寬度10

12.print("the name is: %10.2s" % the_name)

運行上面代碼,可以看到如下輸出結果:

my_value is:??? 3.001my_value is: 0003.001my_value is: +003.001the name is: Chathe name is:???????? Ch

總結

以上是生活随笔為你收集整理的python输出1到9_1-9-Python格式化字符串(格式化输出)的全部內容,希望文章能夠幫你解決所遇到的問題。

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