中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Python中的format格式化函數的使用方法

發布時間:2020-10-26 07:20:18 來源:腳本之家 閱讀:261 作者:KaiSarH 欄目:開發技術

format函數實現字符串格式化的功能

基本語法為:

通過 : 和 {} 來控制字符串的操作

一、對字符串進行操作

1. 不設置指定位置,按默認順序插入

①當參數個數等于{}個數的時候

str_1 = "小明{}小美,可是小美{}小明".format("喜歡", "不喜歡")
print(str_1)

運行結果:

詳解Python中的format格式化函數的使用方法

②當參數個數大于{}個數的時候

str_1 = "小明{}小美,可是小美{}小明".format("喜歡", "不喜歡", "也不喜歡", "更不喜歡")
print(str_1)

運行結果:

詳解Python中的format格式化函數的使用方法

③當參數個數習小于{}個數的時候

str_1 = "小明{}小美,可是小美{}小明".format("喜歡")
print(str_1)

運行結果:

程序會報錯:越界

詳解Python中的format格式化函數的使用方法

由此可以得出,當我們不指定參數位置的時候,format函數會幫我們按順序將其接收到的參數,填入到{}中

2. 設置指定位置

當format接收到的參數個數大于{}或者我們想將不同{}替換為相同字符串的時候,我們可以在{}內指定接收第幾個參數。format接收的參數,從0開始。

str_1 = "小明{1}小美,可是小美{3}小明,小美{0}小明,小美{2}小華".format("不喜歡", "喜歡", "更喜歡", "很討厭")
print(str_1)

在這一句代碼中,分別為不同的{}指定了接收的參數位置。
運行結果:

詳解Python中的format格式化函數的使用方法

很顯然,如果我們的{}的個數小于format的參數也是OK的。

str_1 = "小明{1}小美,可是小美{3}小明,小美{2}小華".format("不喜歡", "喜歡", "更喜歡", "很討厭")
print(str_1)

運行結果:

詳解Python中的format格式化函數的使用方法

由此我們得出結論:

在使用format()函數的時候,我們給format()的個數是不限的,如果我們并沒有在{}中指定位置,那么format()會自動按順序將參數填入{},而如果我們為{}指定了位置,那么format()就會把指定位置的參數填入對應的{}中。

3.設置format()參數的值①直接在format()中進行賦值

str_1 = "博主:{name}, 博客地址:{url}".format(name="KaiSarH", url="https://blog.csdn.net/KaiSarH")

運行結果:

詳解Python中的format格式化函數的使用方法

②通過傳遞多值參數向format傳遞參數進而對{}進行賦值

關于多值參數,可以看一下Python學習筆記之函數的參數和返回值

- 使用**傳遞字典。

在Python中,使用**可以傳遞一個字典參數,我們可以使用鍵名進行匹配,進而進行賦值

dict_1 = {"name": "KaiSarH",
     "url": "https://blog.csdn.net/KaiSarH"}
str_2 = "博主:{name}, 博客地址:{url}".format(**dict_1)

運行結果:

詳解Python中的format格式化函數的使用方法

我們向format()傳遞的字典參數,所包含的鍵值對,必須包含所有的{}名。只能多(正確),不能少(報錯)。

dict_1 = {"name": "KaiSarH",
     "url": "https://blog.csdn.net/KaiSarH",
     "login": "login information"}
str_2 = "博主:{name}, 博客地址:{url}".format(**dict_1)
print(str_2)
dict_1 = {"name": "KaiSarH",
     "key": "https://blog.csdn.net/KaiSarH",
     "login": "login information"}
str_4 = "博主:{name}, 博客地址:{url}".format(**dict_1)
print(str_4)

運行結果:

詳解Python中的format格式化函數的使用方法

注意:我們可以向format()中傳遞多個字典,但是不可以含有相同鍵。

dict_1 = {"name": "KaiSarH",
     "url": "https://blog.csdn.net/KaiSarH",
     "login": "login information"}
str_2 = "博主:{name}, 博客地址:{url}".format(**dict_1)
dict_2 = {"name": "KaiSarH",
     "key": "https://blog.csdn.net/KaiSarH",
     "login": "login information"}
str_4 = "博主:{name}, 博客地址:{url}".format(**dict_1, **dict_2)
print(str_4)

運行結果:

詳解Python中的format格式化函數的使用方法

- 傳遞列表

list_1 = ["KaiSarH","https://blog.csdn.net/KaiSarH"]
str_3 = "博主:{0[0]}, 博客地址:{0[1]}".format(list_1)

運行結果:

詳解Python中的format格式化函數的使用方法

除了傳遞一個列表,我們也可以向format()中傳遞多個列表,只需保證取值的時候無誤就可以。

list_1 = ["ZhangSan","https://blog.csdn.net/KaiSarH"]
list_2 = ["KaiSarH", "http:www.baidu.com"]
str_3 = "博主:{1[0]}, 博客地址:{0[1]}".format(list_1, list_2)

運行結果:

詳解Python中的format格式化函數的使用方法

③向format()中傳入對象,進行賦值

與列表相同,我們同樣可以向format()中傳遞多個對象,只要在賦值的之后做好對應就可以。

class Dog:
  def __init__(self, name):
    self.name = name

class Mouse:
  def __init__(self, name):
    self.name = name


tom = Dog("Tom")
jerry = Mouse("Jerry")

str_1 = "{0.name} want to eat {1.name}".format(tom, jerry)
print(str_1)

運行結果:

詳解Python中的format格式化函數的使用方法

二、對數字進行格式化

對于數字的格式化,我們主要是在{}中進行設置格式化數字的多種方法

1.保留小數點后n位

格式:{:.nf}

print("	{:.1f}".format(3.1415926535))
print("	{:.3f}".format(3.1415926535))
print("	{:.4f}".format(3.1415926535))
print("	{:.6f}".format(3.1415926535))

運行結果:

詳解Python中的format格式化函數的使用方法

2.帶符號保留小數點后n位

格式:{:+.nf}

print("	{:+.1f}".format(3.1415926535))
print("	{:+.3f}".format(-3.1415926535))
print("	{:+.4f}".format(3.1415926535))
print("	{:+.6f}".format(-3.1415926535))

運行結果:

詳解Python中的format格式化函數的使用方法

{:.nf}和 {:+.nf}的區別
負數無區別,整數有無符號。

print("	{:.1f}".format(3.1415926535))
print("	{:+.1f}".format(3.1415926535))
print("	{:.3f}".format(-3.1415926535))
print("	{:+.3f}".format(-3.1415926535))
print("	{:.4f}".format(3.1415926535))
print("	{:+.4f}".format(3.1415926535))
print("	{:.7f}".format(-3.1415926535))
print("	{:+.7f}".format(-3.1415926535))

運行結果:

詳解Python中的format格式化函數的使用方法

3.不帶小數(只保留整數)

格式:{:.0f}

print("	{:.0f}".format(3.1415926535))
print("	{:.0f}".format(-3.1415926535))
print("	{:.0f}".format(3.8415926535))

運行結果:

詳解Python中的format格式化函數的使用方法

4.如果整數的位數不足n位,在左邊進行數字補零。如果已經夠了n位,直接輸出

格式:{:0>nd}

print("	{:0>2d}".format(5))
print("	{:0>3d}".format(5))
print("	{:0>5d}".format(123456))

運行結果:

詳解Python中的format格式化函數的使用方法

5.如果整數的位數不足n位,在右邊進行x補充。如果已經夠了n位,直接輸出

格式:{:x<4d}

print("{:x<2d}".format(5))
print("{:x<3d}".format(5))
print("{:x<4d}".format(123456))

運行結果:

詳解Python中的format格式化函數的使用方法

很顯然,在補充操作中,我們既可以指定在哪一邊補充,也可以指定補充的值為什么。
我們也可以利用print("{:x>.2f}".format(3.1))或者{:x<.2f}對浮點數進行操作

6.以逗號分隔數字格式,每三位加入一個,

格式:{:,}

print("	{:,}".format(314156926))

運行結果:

詳解Python中的format格式化函數的使用方法

7.百分比格式(在我理解,就是把數字×100,保留兩位數字,然后加一個百分號)

格式:{:.2%}

print("{:.2%}".format(0.27896))

運行結果:

詳解Python中的format格式化函數的使用方法

8.指數記法

格式:{:.2e}

print("{:.2e}".format(100))

運行結果:

詳解Python中的format格式化函數的使用方法

9.右對齊(默認寬度為10)

格式:{:>10d}

print("	{:>10d}".format(100))
print("	{:>10d}".format(2))
print("	{:>10d}".format(12580))

運行結果:

詳解Python中的format格式化函數的使用方法

10.左對齊(默認寬度為10)

格式:{:<10d}

print("{:<10d}".format(100))
print("{:<10d}".format(2))
print("{:<10d}".format(12580))

運行結果:

詳解Python中的format格式化函數的使用方法

11.中間對齊(默認寬度為10)

格式:{:^10d}

print("{:^10d}".format(100))
print("{:^10d}".format(2))
print("{:^10d}".format(12580))

運行結果:

詳解Python中的format格式化函數的使用方法

12.進制——b、d、o、x 分別是二進制、十進制、八進制、十六進制。

格式:
‘{:b}'.format(11)
‘{:d}'.format(11)
‘{:\o}'.format(11)
‘{:x}'.format(11)
‘{:#x}'.format(11)
‘{:#X}'.format(11)

print("{:b}".format(125))
print("{:d}".format(125))
print("{:o}".format(125))
print("{:x}".format(125))
print("{:#x}".format(125))
print("{:#X}".format(125))

運行結果:

詳解Python中的format格式化函數的使用方法

當我們在格式化中,傳入的參數中包含{}的時候,我們可以用{}進行轉義。
當我們直接在format()中對參數進行賦值的時候,我們必須要把對參數的賦值放在最后

print("{name}對應的位置是{{0}},{}對應的位置是{{1}}".format("489", "zhangsan", name="123"))

運行結果:

詳解Python中的format格式化函數的使用方法

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东至县| 本溪| 萨迦县| 巴东县| 宾川县| 奈曼旗| 云阳县| 永靖县| 南郑县| 陇川县| 株洲县| 萝北县| 托克逊县| 阿拉善左旗| 奉贤区| 武安市| 科技| 莱阳市| 石阡县| 吉林省| 常德市| 石泉县| 达拉特旗| 平昌县| 兴海县| 克山县| 正镶白旗| 阳原县| 饶阳县| 盐池县| 石屏县| 墨竹工卡县| 育儿| 灵川县| 东辽县| 金山区| 定边县| 远安县| 迁西县| 浙江省| 拉萨市|