pythonformatprint
『壹』 format在python中的用法是什麼
常見於字元串格式化。
比如 print("第{0}天".format(d))。會列印"第5天"。
python3的format函數中s表示格式化字元串類型數據。{:>15s}表示右對齊15個字元,左側空白默認用空格填充。{:<8.2f}表示左對齊加小數點一共8位的浮點型小數,保留小數點後兩位。
{:>15s}:{:<8.2f}中間的冒號,就是分隔兩個數據的分隔符。
Python
是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
『貳』 python中「format後的參數排列順序必須按照格式字元串中槽{}的排列順序依次一一對應」為什麼錯誤謝謝
format函數實現字元串格式化的功能
基本語法為:
通過 : 和 {} 來控制字元串的操作
一、對字元串進行操作
1. 不設置指定位置,按默認順序插入
①當參數個數等於{}個數的時候
str_1 = "小明{}小美,可是小美{}小明".format("喜歡", "不喜歡")
print(str_1)
運行結果:
②當參數個數大於{}個數的時候
str_1 = "小明{}小美,可是小美{}小明".format("喜歡", "不喜歡", "也不喜歡", "更不喜歡")
print(str_1)
運行結果:
③當參數個數習小於{}個數的時候
str_1 = "小明{}小美,可是小美{}小明".format("喜歡")
print(str_1)
運行結果:
程序會報錯:越界
由此可以得出,當我們不指定參數位置的時候,format函數會幫我們按順序將其接收到的參數,填入到{}中。
2. 設置指定位置
當format接收到的參數個數大於{}或者我們想將不同{}替換為相同字元串的時候,我們可以在{}內指定接收第幾個參數。format接收的參數,從0開始。
str_1 = "小明{1}小美,可是小美{3}小明,小美{0}小明,小美{2}小華".format("不喜歡", "喜歡", "更喜歡", "很討厭")
print(str_1)
在這一句代碼中,分別為不同的{}指定了接收的參數位置。
運行結果:
很顯然,如果我們的{}的個數小於format的參數也是OK的。
str_1 = "小明{1}小美,可是小美{3}小明,小美{2}小華".format("不喜歡", "喜歡", "更喜歡", "很討厭")
print(str_1)
運行結果:
由此我們得出結論:
在使用format()函數的時候,我們給format()的個數是不限的,如果我們並沒有在{}中指定位置,那麼format()會自動按順序將參數填入{},而如果我們為{}指定了位置,那麼format()就會把指定位置的參數填入對應的{}中。
3.設置format()參數的值①直接在format()中進行賦值
str_1 = "博主:{name}, 博客地址:{url}".format(name="KaiSarH", url="https://blog.csdn.net/KaiSarH")
運行結果:
②通過傳遞多值參數向format傳遞參數進而對{}進行賦值
- 使用**傳遞字典。
在Python中,使用**可以傳遞一個字典參數,我們可以使用鍵名進行匹配,進而進行賦值
dict_1 = {"name": "KaiSarH",
"url": "https://blog.csdn.net/KaiSarH"}
str_2 = "博主:{name}, 博客地址:{url}".format(**dict_1)
運行結果:
我們向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)
運行結果:
注意:我們可以向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)
運行結果:
- 傳遞列表
list_1 = ["KaiSarH","https://blog.csdn.net/KaiSarH"]
str_3 = "博主:{0[0]}, 博客地址:{0[1]}".format(list_1)
運行結果:
除了傳遞一個列表,我們也可以向format()中傳遞多個列表,只需保證取值的時候無誤就可以。
list_1 = ["ZhangSan","https://blog.csdn.net/KaiSarH"]
list_2 = ["KaiSarH", "http:www..com"]
str_3 = "博主:{1[0]}, 博客地址:{0[1]}".format(list_1, list_2)
運行結果:
③向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)
運行結果:
二、對數字進行格式化
對於數字的格式化,我們主要是在{}中進行設置格式化數字的多種方法
1.保留小數點後n位
格式:{:.nf}
print("{:.1f}".format(3.1415926535))
print("{:.3f}".format(3.1415926535))
print("{:.4f}".format(3.1415926535))
print("{:.6f}".format(3.1415926535))
運行結果:
2.帶符號保留小數點後n位
格式:{:+.nf}
print("{:+.1f}".format(3.1415926535))
print("{:+.3f}".format(-3.1415926535))
print("{:+.4f}".format(3.1415926535))
print("{:+.6f}".format(-3.1415926535))
運行結果:
{:.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))
運行結果:
3.不帶小數(只保留整數)
格式:{:.0f}
print("{:.0f}".format(3.1415926535))
print("{:.0f}".format(-3.1415926535))
print("{:.0f}".format(3.8415926535))
運行結果:
4.如果整數的位數不足n位,在左邊進行數字補零。如果已經夠了n位,直接輸出
格式:{:0>nd}
print("{:0>2d}".format(5))
print("{:0>3d}".format(5))
print("{:0>5d}".format(123456))
運行結果:
5.如果整數的位數不足n位,在右邊進行x補充。如果已經夠了n位,直接輸出
格式:{:x<4d}
print("{:x<2d}".format(5))
print("{:x<3d}".format(5))
print("{:x<4d}".format(123456))
運行結果:
很顯然,在補充操作中,我們既可以指定在哪一邊補充,也可以指定補充的值為什麼。
我們也可以利用print("{:x>.2f}".format(3.1))或者{:x<.2f>
6.以逗號分隔數字格式,每三位加入一個,
格式:{:,}
print("{:,}".format(314156926))
運行結果:
7.百分比格式(在我理解,就是把數字×100,保留兩位數字,然後加一個百分號)
格式:{:.2%}
print("{:.2%}".format(0.27896))
運行結果:
8.指數記法
格式:{:.2e}
print("{:.2e}".format(100))
運行結果:
9.右對齊(默認寬度為10)
格式:{:>10d}
print("{:>10d}".format(100))
print("{:>10d}".format(2))
print("{:>10d}".format(12580))
運行結果:
10.左對齊(默認寬度為10)
格式:{:<10d}
print("{:<10d}".format(100))
print("{:<10d}".format(2))
print("{:<10d}".format(12580))
運行結果:
11.中間對齊(默認寬度為10)
格式:{:^10d}
print("{:^10d}".format(100))
print("{:^10d}".format(2))
print("{:^10d}".format(12580))
運行結果:
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函數這是一種字元串格式化的方法,用法如str.format()。
基本語法是通過 {} 和 : 來代替以前的 % 。
以下展示兩種主要用法:
(1)如:語句print("{:.2f}".format(3.1415926)),它的輸出為3.14,可以看出命令為保留兩位小數點。
(2)如:語句"{1} {0} {1}".format("hello", "world"),它的輸出為'world hello world',可以看出format為他們設置了位置。
又如:語句print '{} *'.format(j)表示輸出變數j的值以及乘號:j*,可以看出用在循環里可以輸出一個乘法的等式。
又如:語句print "{} 對應的位置是 {{0}}".format("runoob"),它的輸出為'runoob對應的位置是0'.
(3)pythonformatprint擴展閱讀:
如果在格式化數字時沒有指定format,Format會提供與Str函數類似的功能,盡管它是國際化的。然而,以Format作用在正數上不會保留正負號空間,而以Str的話則會。
如果要格式化一個沒有本地化的數值字元串,應該使用一個用戶自定義的數值格式,以保證得到需要的外觀。
注意如果Calendar屬性設置是Gregorian ,並且format指定了日期格式,那麼,提供的expression必須是Gregorian 。如果Visual BasicCalendar屬性設置是 Hijri,則提供的的expression必須是Hijri 。
『肆』 python中的format函數怎麼使用
常見於字元串格式化。
比如 print("第{0}天".format(d))。會列印"第5天"。
python3的format函數中s表示格式化字元串類型數據。{:>15s}表示右對齊15個字元,左側空白默認用空格填充。{:<8.2f}表示左對齊加小數點一共8位的浮點型小數,保留小數點後兩位。{:>15s}:{:<8.2f}中間的冒號,就是分隔兩個數據的分隔符。
Python
是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
『伍』 Python中print("{:^4}".format(i),end=' ')是什麼意思啊
表示將i格式化為字元串時:
^表示居中對齊;4表示輸出寬度為4,兩邊填充空格;end=' '表示最後以一個空格結束而不換行。
下面是一個例子:
i=12
print("={:^4}=".format(i),end=' ')
print("前面是來自上一個輸出的一個空格")
『陸』 python中print函數的用法
python中print函數的用法是:
第一種方法:一個蘿卜一個坑,下面的代碼中,{0}、{1}、{2}分別表示j,i,j*i,單引號裡面是輸出格式。
print('{0}+{1}={2}'.format(j,i,j+i))。
第二種方法:類似於C語言格式輸出,使用%開頭格式輸出。
print("%d + %d = %d" %(j,i,j+i))。
python中自動換行,要想不換行的話,需要在print括弧最後面加上 , end = ''print(i, end = '' )。
Python常用格式字元是:
1、%s 字元串採用str()的顯示。
2、%x 十六進制整數。
3、%r 字元串(repr())的顯示。
4、%e 指數(基底寫e)。
5、%c 單個字元。
6、%E 指數(基底寫E)。
7、%b 二進制整數。
8、%f,%F 浮點數。
9、%d 十進制整數。
10、%g 指數(e)或浮點數(根據顯示長度)。
11、%i 十進制整數。
12、%G 指數(E)或浮點數(根據顯示長度)。
13、%o 八進制整數。
14、%% 字元%。