python:f/F,format,%的用法
目錄
- 一.f/F的用法
- 二.%的用法
- 三. format用法
一.f/F的用法
參考文章
1.解析變量
2.解析字典
one_dict = {'name': 'zhangs', 'age': 18, None: True} res3 = F"姓名:{one_dict['name']}, 年齡:{one_dict['age']} ,None:{one_dict[None]}" print(res3)結果:姓名:zhangs, 年齡:18 ,None:True3.解析列表
one_list = [1, 2, 3, 'a', [1, 2, 3]] res4 = F"列表值:{one_list[0]} {one_list[3]} {one_list[4][-1]}" print(res4)結果:列表值:1 a 34.解析元組
one_tuple = (1, 2, "a") res5 = F'元組值:{one_tuple[1]} {one_tuple[2]}' print(res5)結果:元組值:2 a5.解析當前日期及時分秒
import datetimetoday = datetime.datetime.now() print(today) 結果:2019-11-13 10:39:39.576568res6 = F"今天的日期:{today:%Y-%m-%d} {today:%H:%M:%S} " print(res6) 今天的日期:2019-11-13 10:39:396.解析浮點數
a = 1 b = 3 res1 = F"a/b浮點數值為:{float('%.5f' %(a/b))}" print(res1) 結果:a/b浮點數值為:0.33333二.%的用法
參考文章
1、整數的輸出(進制轉換)
print('%o' % 20) 24 print('%d' % 20) 20 print('%x' % 20) 142、浮點數輸出
(1)格式化輸出
%f ——保留小數點后面六位有效數字
%.3f,保留3位小數位
%e ——保留小數點后面六位有效數字,指數形式輸出
%.3e,保留3位小數位,使用科學計數法
%g ——在保證六位有效數字的前提下,使用小數方式,否則使用科學計數法
%.3g,保留3位有效數字,使用小數或科學計數法
2、字符串輸出
%s
%10s——右對齊,占位符10位
%-10s——左對齊,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取兩位字符串
三. format用法
參考文章
相對基本格式化輸出采用‘%’的方法,format()功能更強大,該函數把字符串當成一個模板,通過傳入的參數進行格式化,并且使用大括號‘{}’作為特殊字符代替‘%’
1.位置匹配
(1)不帶編號,即“{}”
(2)帶數字編號,可調換順序,即“{1}”、“{2}”
(3)帶關鍵字,即“{a}”、“{tom}”
>>> print('{} {}'.format('hello','world')) # 不帶字段 hello world >>> print('{0} {1}'.format('hello','world')) # 帶數字編號 hello world >>> print('{0} {1} {0}'.format('hello','world')) # 打亂順序 hello world hello >>> print('{1} {1} {0}'.format('hello','world')) world world hello >>> print('{a} {tom} {a}'.format(tom='hello',a='world')) # 帶關鍵字 world hello world >>> '{0}, {1}, {2}'.format('a', 'b', 'c') 'a, b, c' >>> '{}, {}, {}'.format('a', 'b', 'c') # 3.1+版本支持 'a, b, c' >>> '{2}, {1}, {0}'.format('a', 'b', 'c') 'c, b, a' >>> '{2}, {1}, {0}'.format(*'abc') # 可打亂順序,注意前面有*號 'c, b, a' >>> '{0}{1}{0}'.format('abra', 'cad') # 可重復 'abracadabra'通過位置匹配
>>> 'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W') 'Coordinates: 37.24N, -115.81W' >>> coord = {'latitude': '37.24N', 'longitude': '-115.81W'} >>> 'Coordinates: {latitude}, {longitude}'.format(**coord) #注意前面**號 'Coordinates: 37.24N, -115.81W' >>>'Coordinates: {0[latitude]}, {0[longitude]}'.format(coord) #結果同上,原理同下 'Coordinates: 37.24N, -115.81W' >>> coord = (3, 5) >>> 'X: {0[0]}; Y: {0[1]}'.format(coord) 'X: 3; Y: 5' >>> a = {'a': 'test_a', 'b': 'test_b'} >>> 'X: {0[a]}; Y: {0[b]}'.format(a) 'X: test_a; Y: test_b'通過下標或key匹配參數2.格式轉換
‘b’ - 二進制。將數字以2為基數進行輸出。
‘c’ - 字符。在打印之前將整數轉換成對應的Unicode字符串。
‘d’ - 十進制整數。將數字以10為基數進行輸出。
‘o’ - 八進制。將數字以8為基數進行輸出。
‘x’ - 十六進制。將數字以16為基數進行輸出,9以上的位數用小寫字母。
‘e’ - 冪符號。用科學計數法打印數字。用’e’表示冪。
‘g’ - 一般格式。將數值以fixed-point格式輸出。當數值特別大的時候,用冪形式打印。
‘n’ - 數字。當值為整數時和’d’相同,值為浮點數時和’g’相同。不同的是它會根據區域設置插入數字分隔符。
‘%’ - 百分數。將數值乘以100然后以fixed-point(‘f’)格式打印,值后面會有一個百分號。
3.進制轉換
>>> # format also supports binary numbers >>> "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42) 'int: 42; hex: 2a; oct: 52; bin: 101010' >>> # with 0x, 0o, or 0b as prefix: >>> "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42) # 在前面加“#”,則帶進制前綴 'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'4.百分數%
>>> points = 19 >>> total = 22 >>> 'Correct answers: {:.2%}'.format(points/total) 'Correct answers: 86.36%'5.正負符號顯示
>>> '{:+f}; {:+f}'.format(3.14, -3.14) # 總是顯示符號 '+3.140000; -3.140000' >>> '{: f}; {: f}'.format(3.14, -3.14) # 若是+數,則在前面留空格 ' 3.140000; -3.140000' >>> '{:-f}; {:-f}'.format(3.14, -3.14) # -數時顯示-,與'{:f}; {:f}'一致 '3.140000; -3.140000'6.時間
>>> import datetime >>> d = datetime.datetime(2010, 7, 4, 12, 15, 58) >>> '{:%Y-%m-%d %H:%M:%S}'.format(d) '2010-07-04 12:15:58'7.format的用法變形
# a.format(b) >>> "{0} {1}".format("hello","world") 'hello world'# f"xxxx"# 可在字符串前加f以達到格式化的目的,在{}里加入對象,此為format的另一種形式: >>> a = "hello" >>> b = "world" >>> f"{a} {b}" 'hello world'name = 'jack' age = 18 sex = 'man' job = "IT" salary = 9999.99print(f'my name is {name.capitalize()}.') print(f'I am {age:*^10} years old.') print(f'I am a {sex}') print(f'My salary is {salary:10.3f}')# 結果 my name is Jack. I am ****18**** years old. I am a man My salary is 9999.990總結
以上是生活随笔為你收集整理的python:f/F,format,%的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python:去重(list,dataf
- 下一篇: python:sort,sorted,a