1. 程式人生 > 其它 >python之str format()方法詳解(Python第二篇)

python之str format()方法詳解(Python第二篇)

技術標籤:Pythonpython

不多逼逼,上程式碼。

程式碼片段及註解

# 字串格式化,代替了以前的%
        # format函式引數個數不做限制,位置不做限制。
        print('{}I am 23 years old!{}'.format("Hello,", 'What about you?'))
        print('{1}I am 23 years old!{0}'.format("What about you?", 'Hello,'))
        print('{1}{0}{1}'.format("What about you?"
, 'Hello,')) # 通過id設定引數 print('My name is {name},I am {year} old!'.format(name='Yorlen', year=23)) # 通過字典設定引數 print('通過字典設定引數') dic = {'name': 'Yorlen', 'age': 23} print('My name is {name},I am {age} old!'.format(**dic)) # 通過列表索引設定引數 print
('通過列表索引設定引數') li = ['Yorlen', 23] print('My name is {0[0]},I am {0[1]} old!'.format(li)) # 使用{}來轉義{} print('My name is {},name的索引是{{0}}'.format('Yorlen')) ''' 接下來是數字格式化,要耐心的看完呦!!!! 接下來是數字格式化,要耐心的看完呦!!!! 接下來是數字格式化,要耐心的看完呦!!!! ''' # 保留兩位小數 print
('.2f數字是:{:.2f}'.format(3.1415926)) # 帶符號,為什麼是帶符號,而不是表示正數呢?往下看 print('+.2f數字是:{:+.2f}'.format(3.1415926)) # 用0補齊小數 print('+.6f數字是:{:+.6f}'.format(3.14)) # 使用負數試一試 print('負數是:{:.6f}'.format(-3.14)) # 帶符號表示負數,所以負數不需要加‘+’來顯示符號啦! print('負數是:{:+.4f}'.format(-3.14)) # 不帶小數 print('不帶小數:{:+.0f}'.format(-3.14)) # 數字左邊補零,小數報錯 print('左邊補零數字是:{:0>6d}'.format(3)) # 數字右邊補零,小數報錯 print('右邊補零數字是:{:0<6d}'.format(3)) # 自習觀察下面的輸出結果 print('3.1之format比較') print('0>f數字是:\t{:0>f}'.format(3.1)) print('0<f數字是:\t{:0<f}'.format(3.14)) print('0<f數字是:\t{:0>f}'.format(3.1)) print('0>f數字是:\t{:0>f}\t這裡說明了f與小數左邊沒關係'.format(13.1)) print('0>6f數字是:\t{:0>6f}'.format(3.1)) print('0>7f數字是:\t{:0>7f} \t這裡說明了f預設小數點右邊6位'.format(3.1)) # 右邊填0 print('0<12f數是:\t{:0<12f}'.format(3.1)) # 嘗試右邊填1,發現小數6位之後才可以改1 print('1<5f數是:\t{:1<5f}'.format(3.1)) print('1<12f數是:\t{:1<12f} \t 並且開始計算小數點以及整數部分'.format(3.1)) # 左邊填1 print('1>12f是:\t{:1>12f} \t 這裡說明了小數點佔正數的一位'.format(3.1)) # 相信在前面就有人想符號去哪裡了,在這裡啦!!! print('0<+2f數是:\t{:0<+2f}'.format(3.1)) print("有趣的事發生了,注意看下面結果") print('0>12f數字是:{:0>12f}'.format(-3.1)) print('1>12f數字是:{:1>12f}'.format(-3.1)) print('1>+12f數是:\t{:1>+12f}'.format(-3.1)) # 用,來分隔數字 print(',分隔數字是:{:,}'.format(-100000000)) print('55百分比數字是:{:.3%}'.format(55)) print('0.55百分比數字是:{:.3%}'.format(0.55)) # 指數記法 print('指數記法數字是:{:.2e}'.format(1000000000)) print('接下來分別是右對齊,左對齊,中間對齊') print('輸出的數字是:{:>16d}end'.format(3)) print('輸出的數字是:{:<16d}end'.format(3)) print('輸出的數字是:{:^16d}end'.format(3)) print('輸出的數字是:{:^+16d}end'.format(3)) print('輸出的數字是:{:^16f}end'.format(3.14)) print('輸出的數字是:{:^+16f}end'.format(-3.14)) # 進製表示 print('二進位制{:b}'.format(11)) print('十進位制{:d}'.format(11)) print('八進位制{:o}'.format(11)) # print('十六進位制{:H}'.format(11)) print('十六進位制{:x}'.format(11)) print('帶符號十六進位制{:#x}'.format(11)) print('帶符號大寫制{:#X}'.format(111))

執行結果展示如下

Hello,I am 23 years old!What about you?
Hello,I am 23 years old!What about you?
Hello,What about you?Hello,
My name is Yorlen,I am 23 old!
通過字典設定引數
My name is Yorlen,I am 23 old!
通過列表索引設定引數
My name is Yorlen,I am 23 old!
My name is Yorlen,name的索引是{0}
.2f數字是:3.14
+.2f數字是:+3.14
+.6f數字是:+3.140000
負數是:-3.140000
負數是:-3.1400
不帶小數:-3
左邊補零數字是:000003
右邊補零數字是:300000
3.1之format比較
0>f數字是:	3.100000
0<f數字是:	3.140000
0<f數字是:	3.100000
0>f數字是:	13.100000	這裡說明了f與小數左邊沒關係
0>6f數字是:	3.100000
0>7f數字是:	3.100000 	這裡說明了f預設小數點右邊6位
0<12f數是:	3.1000000000
1<5f數是:	3.100000
1<12f數是:	3.1000001111 	 並且開始計算小數點以及整數部分
1>12f是:	11113.100000 	 這裡說明了小數點佔正數的一位
0<+2f數是:	+3.100000
有趣的事發生了,注意看下面結果
0>12f數字是:000-3.100000
1>12f數字是:111-3.100000
1>+12f數是:	111-3.100000
,分隔數字是:-100,000,000
55百分比數字是:5500.000%
0.55百分比數字是:55.000%
指數記法數字是:1.00e+09
接下來分別是右對齊,左對齊,中間對齊
輸出的數字是:               3end
輸出的數字是:3               end
輸出的數字是:       3        end
輸出的數字是:       +3       end
輸出的數字是:    3.140000    end
輸出的數字是:   -3.140000    end
二進位制1011
十進位制11
八進位制13
十六進位制b
帶符號十六進位制0xb
帶符號大寫制0X6F

Process finished with exit code 0

轉發評論收藏呦
轉發評論收藏呦
轉發評論收藏呦
轉發評論收藏呦
轉發評論收藏呦