中print中加f_Python3中的格式化輸出

Python3字符串格式化輸出有兩種形式實現:
a:字符串格式化表達式: '...%...' % (values)
b:字符串格式化方法調用:'...{}...'.format(values) 或者 f'...{xx}...'

1:字符串格式化的類型碼(typecode)
(表1)

8516c0450ec5f002ad554517660985b5.png

2: 字符串格式化表達式

格式:%[(keyname)][flags][width][.precision]typecode (表2)

7ea34bd3b43c02bf1e8469429eff4032.png

2.1:整數的輸出

"""%o —— oct 八進制%d —— dec 十進制 %x —— hex 十六進制""" # %da = 123# 使用字典提供值print('1---[%(age)d]=','[%(age)d]' % {'age':a} )# %dprint('2---[%d]=','[%d]' % (a,))# 前面帶 '+' 號print('3---[%+d]=','[%+d]' % (a,))# 最小寬度,默認右對齊print('4---[%5d]=','[%5d]' % (a,))# 最小寬度,默認右對齊,左邊補0print('5---[%05d]=','[%05d]' % (a,))# 最小寬度,左對齊print('6---[%-5d]=','[%-5d]' % (a,)) """結果:1---[%(age)d]= [123]2---[%d]= [123]3---[%+d]= [+123]4---[%5d]= [  123]5---[%05d]= [00123]6---[%-5d]= [123  ]""" """上面是十進制的輸出,其他進制輸出,只要把d% 替換為o%,x%即可。%o  八進制%x  十六進制"""

2.2:浮點數的輸出:

%f:

#%fa = 123.123456789# 默認6位小數print('1----%f=','[%f]' % (a,))# 最小20位,7位小數,默認右對齊print('2----%20.7f=','[%20.7f]' % (a,))# 最小20位,7位小數,右對齊,左邊補0print('3----%020.7f=','[%020.7f]' % (a,))# 最小20位,7位小數,左對齊print('4----%-20.7f=','[%-20.7f]' % (a,)) """結果:1----%f= [123.123457]2----%20.7f= [         123.1234568]3----%020.7f= [000000000123.1234568]4----%-20.7f= [123.1234568         ]"""

%e:

#%ea = 123.123456789# 默認6位小數print('1----%f=','[%e]' % (a,))# 最小20位,7位小數,默認右對齊print('2----%20.7f=','[%20.7e]' % (a,))# 最小20位,7位小數,右對齊,左邊補0print('3----%020.7f=','[%020.7e]' % (a,))# 最小20位,7位小數,左對齊print('4----%-20.7f=','[%-20.7e]' % (a,)) """結果:1----%e= [1.231235e+02]2----%20.7e= [       1.2312346e+02]3----%020.7e= [00000001.2312346e+02]4----%-20.7e= [1.2312346e+02       ]"""

%g:根據顯示內容選擇格式:
規則為:指數小于-4,或者 指數大于等于精度 使用指數格式e,其他情況使用小數格式f

"""#%g:默認精度為6根據顯示內容選擇格式:規則為:指數小于-4,或者 指數大于等于精度 使用指數格式e,其他情況使用小數格式f舉例:a = 123456.123456789a = 123456.123456789 = 1.23456123456789e+05  指數為5"""a = 123456.123456789# # %g 精度默認為6位,a的指數為5,使用小數格式fprint('1----%g=','[%g]' % (a,)) # %10.2g  精度為2,a的指數為5,使用指數格式eprint('2----%10.2g=','[%10.2g]' % (a,)) # %.4g  精度為4,a的指數為5,使用指數格式eprint('3----%.4g=','[%.4g]' % (a,)) # %020.7g  精度為7,a的指數為5,使用小數格式fprint('4----%020.7g=','[%020.7g]' % (a,)) # %020.7g  精度為7,a的指數為5,使用小數格式fprint('5----%-20.7g=','[%-20.7g]' % (a,))  """1----%g= [123456]2----%10.2g= [   1.2e+05]3----%.4g= [1.235e+05]4----%020.7g= [000000000000123456.1]5----%-20.7g= [123456.1            ]"""

2.3:字符串輸出:

'''%s%10s   ——右對齊,占位符10位%-10s  ——左對齊,占位符10位%.2s   ——截取2位字符串%10.2s ——10位占位符,截取兩位字符串'''s = 'abcdef'print('1--[%s]=','[%s]' % s)print('2--[%10s]=','[%10s]' % s)print('3--[%-10s]=','[%-10s]' % s)print('4--[%.2s]=','[%.2s]' % s)print('5--[%10.2s]=','[%10.2s]' % s)print('6--[%-10.2s]=','[%-10.2s]' % s) """1--[%s]= [abcdef]2--[%10s]= [    abcdef]3--[%-10s]= [abcdef    ]4--[%.2s]= [ab]5--[%10.2s]= [        ab]6--[%-10.2s]= [ab        ]"""

3: 字符串格式化方法調用:format()

格式:{fieldname component !conversionflag : formatspec} (表3)

d0c7064a996f440a7141710835ac496d.png

formatspec格式:[[fill]align][sign][#][0][width][,][.precision][typecode] (表4)

7fe09a1f3587930a13d1b444a5d93ffb.png

fieldname

# 參數出現的位置,順序可以打亂。print('1----:age:{1},name:{0} '.format('ixusy88',18)) # 參數出現的位置,默認相對位置print('2----:name:{},age:{} '.format('ixusy88',18)) # 關鍵字參數 print('3----:name:{name},age:{age} '.format(name='ixusy88',age=18))  # 關鍵字參數,順序可以打亂。print('4----:age:{age},name:{name}'.format(name='ixusy88',age=18))  import sys# 屬性,字典print('5----:平臺:{0.platform} ;name:{1[name]},age:{1[age]}'.format(sys,{'name':'ixusy88','age':18}))print('6----:第二個是:{0[1]},第一個是:{0[0]}'.format([11,22,33])) #解包st = (10,20,30,)print('7----:第二個是:{1},第一個是:{0}'.format(*st)) lst = [100,200,300]print('8----:第二個是:{1},第一個是:{0}'.format(*lst))  """結果:1----:age:18,name:ixusy88 2----:name:ixusy88,age:18 3----:name:ixusy88,age:18 4----:age:18,name:ixusy885----:平臺:win32 ;name:ixusy88,age:186----:第二個是:22,第一個是:117----:第二個是:20,第一個是:108----:第二個是:200,第一個是:100"""

整數:

# 整數a = 100print('1----[{0}]'.format(a))#最小顯示10位,默認右對齊print('2----[{0:10}]'.format(a))#最小顯示10位,左對齊print('3----[{0:<10}]'.format(a)) #最小顯示10位,居中print('4----[{0:^10}]'.format(a)) #最小顯示10位,居中,使用字符d填充剩下的print('5----[{0:d^10}]'.format(a)) #,逗號,千分為分隔符print('6----[{0:,d}]'.format(999999)) """結果:1----[100]2----[       100]3----[100       ]4----[   100    ]5----[ddd100dddd]6----[999,999]"""

浮點數:

a = 1234567.123456789#a = 1234567.123456789 = 1.234567123456789e+06print('1----:','[{0:f}]'.format(a))# 最小顯示10位,2位精度,默認右對齊print('2----:','[{0:10.2}]'.format(a))# 最小顯示10位,2位精度,左對齊print('3----:','[{0:<10.2}]'.format(a))# 最小顯示10位,2位精度,居中print('4----:','[{0:^10.2}]'.format(a))# 使用字符m填充剩下的print('5----:','[{0:m^10.2}]'.format(a)) """1----: [1234567.123457]2----: [   1.2e+06]3----: [1.2e+06   ]4----: [ 1.2e+06  ]5----: [m1.2e+06mm]"""

二進制,八進制,十六進制:

a = 100# '#' 號會加前綴 print('二進制:{0:b},{0:#b}'.format(a))print('八進制:{0:o},{0:#o}'.format(a))print('十六進制:{0:x},{0:#x}'.format(a))"""二進制:1100100,0b1100100八進制:144,0o144十六進制:64,0x64"""

4:format的用法變形: f'{name}'

f'{name}':
可以在字符串前加f以達到格式化的目的,在{}里加入變量,在{}里面,可以像在代碼塊中一樣使用此變量(比如調用屬性,方法,把它作為其他函數的參數等)

# 1: a.format(b)print('1----:','a.format(b):')s1 = 'Hello's2 = 'World'print('2----:','{0} {1} '.format(s1,s2)) print('**************')"""f'{name}':可以在字符串前加f以達到格式化的目的,在{}里加入變量名,在{}里面,可以像在代碼塊中一樣使用此變量(比如調用屬性,方法,把它作為其他函數的參數等)"""s1 = 'Hello's2 = 'World'print('3----:',f'{s1} {s2}')print('4----:',f'{len(s1)} {s2.count("o")} {s2.upper()}') # 還可以使用函數  name = 'ixusy88'age = 18sex = 'Man'job = "IT"salary = 8888.9868 # 調用它的方法;作為函數的參數print('5----:',f'my name is {name.capitalize()}. the len of {name} is {len(name)}')# 也可以使用相應的格式print('6----:',f'I am {age:*^10} years old.')print('7----:',f'I am a {sex}')print('8----:',f'My salary is {salary:10.3f}') # 還可以在{} 中進行if判斷print('9----:',f'sex is  {"男" if sex == "Man" else "女"}')  import sysprint('10----:',f'Platform is {sys.platform}')  st = ('123','345','567',)print('11----:',f'{st}')# 取某個元素print('12----:',f'{st[0]}') dic = {'name':'ixusy88','age':18}print('13----:',f'dic={dic},age={dic["age"]}')# 推導式:print('14----:',f'{[x for x in st]}')  """輸出結果:1----: a.format(b):2----: Hello World **************3----: Hello World4----: 5 1 WORLD5----: my name is Ixusy88. the len of ixusy88 is 76----: I am ****18**** years old.7----: I am a Man8----: My salary is   8888.9879----: sex is  男10----: Platform is win3211----: ('123', '345', '567')12----: 12313----: dic={'name': 'ixusy88', 'age': 18},age=1814----: ['123', '345', '567']"""

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/528903.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/528903.shtml
英文地址,請注明出處:http://en.pswp.cn/news/528903.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Json-ServerMockJs簡單快速生成測試數據

Json-Server&MockJs簡單快速生成測試數據 1、Json-Server 和 MockJs的安裝 npm install -g json-server //全局安裝2、創建目錄和初始話 例如&#xff1a;創建D:\ProjectOne文件夾 3、打開終端或者powershell進入ProjectOne文件夾 4、初始化項目 npm init5、安裝Mock…

oracle索引sys_nc,通過dba_ind_columns表查到索引所在列的名字為SYS_NC00133$

使用下面的腳本查看表上索引相關信息&#xff1a;selectind.uniqueness uniq,ind.owner||.||col.index_name indname,col.column_name colnamefromdba_ind_columns col,dba_indexes indwhereind.owner upper(&ixowner)andind.table_name upper(&tabname)andcol.index…

oracle nvl和coalesce,NVL與Coalesce之間的Oracle差異

慕碼人8056858COALESCE是更現代的功能&#xff0c;是ANSI-92標準的一部分。NVL在Oracle具體的&#xff0c;它在推出80的前存在任何標準。在兩個值的情況下&#xff0c;它們是同義詞。但是&#xff0c;它們的實現方式不同。NVL總是計算兩個參數&#xff0c;同時COALESCE通常在找…

安卓簽名生成工具_ios app如何進行內測?ios app和安卓app的內測有何區別?

目前手機主流的操作系統分為Android和iOS兩大陣營&#xff0c;分別是由谷歌和蘋果進行開發維護。這兩大平臺的應用都相互獨立&#xff0c;無論是運行機制還是底層原理&#xff0c;都不一樣&#xff0c;所以即使是同一款App也是需要針對在兩大平臺上分別進行內測和運營、發布。那…

cx oracle dpi 1002,cx_Oracle連接數據庫總結

python中連接oracle數據庫使用第三方庫文件cx_Oracle時遇到了各種問題&#xff0c;網上查找資料調試了幾天才弄好&#xff0c;下面是不斷調試后總結的一些經驗。1.oracle客戶端(Oracle Instant Client)版本需要和操作系統版本位數相同&#xff0c;同時cx_Oracle官方文檔(http:/…

虛擬機python建站_搭建本地虛擬服務器linux(CentOS 7)的python虛擬環境(Hyper-V演示)...

新建虛擬機->安裝CentOS7->新建虛擬交換機&#xff1a;內部網絡->CentOS7設置->網絡適配器&#xff1a;虛擬交換機&#xff1a;新建虛擬交換機->進入CentOS#cd /etc/sysconfig/network-scripts/#ls -a#vi ifcfg-eth0 #(有些系統不是eth0&#xff0c;前面ifcfg-的…

matlab 輸入日期,matlab輸入年月日算一年中的第幾天.doc

matlab輸入年月日算一年中的第幾天clc,clear all,close alldisp This program calculates the day of year given the ;disp current date. ;month input Enter current month 1-12 : ;day input Enter current day 1-31 : ;year input Enter current year yyyy : ;%Check for …

深拷貝的缺點_拷貝?還傻傻分不清深淺?

「引言」?臣聞求木之長者&#xff0c;必固其根本&#xff1b;欲流之遠者&#xff0c;必浚其泉源。---- 魏征 《諫太宗十思疏》?或許你會問到&#xff0c;網上已經把深淺拷貝(算一個面試的高頻考點了吧)的文章都快寫爛了&#xff0c;為什么自己還要重新操刀寫一遍呢&#xff0…

php 失去 焦點 另一個表單獵取值,同一表單如何根據某一個文本框的值 改變另一個文本框的值...

我用的是失去焦點&#xff0c;然后后臺查詢到了數據&#xff0c;返回回來顯示不了&#xff01;&#xff01;$(document).ready(function(){$("#card").blur(function(){var card$("#card").val();if(card!""){$.get("{:U(guoye/yanzheng)}&…

實現文件中名詞的統計計數_通過勤哲EXCEL和Excel中的rank函數實現排名統計

如今&#xff0c;信息化已成為各行業企業轉型和發展的關鍵所在&#xff0c;信息化技術最明顯的特點是企業不同部門的人在信息技術的支撐下&#xff0c;可以利用豐富的資源與工具展開協作學習&#xff0c;在相對自由的模式和環境下&#xff0c;改變傳統設計相對局限、固定思維的…

php 選擇 出現列表,php – 如何從加權列表中選擇4個唯一項?

所以我有一個加權項目列表,我想從這個列表中選擇4個非重復項目.Item WeightApple 5Banana 7Cherry 12...Orange 8Pineapple 50最有效的方法是什么&#xff1f;我最初的嘗試是,如果一個已經被選中的項目出現的話,只需重新選擇隨后的選秀權……但是對于一個小名單,這可能會導致大…

安徽關節式焊接機器人_上下料機器人的重要性體現在哪里?它有哪些優勢?

上下料機器人是工業機器人家族中從事加工應用的重要成員之一&#xff0c;能滿足“快速、大批量加工節拍”、“節省人力成本”、“提高生產效率”等要求&#xff0c;成為越來越多中心企業的理想選擇。那么&#xff0c;上下料機器人有哪些特征和優勢&#xff1f;企業主應該如何選…

oracle查詢ora03114,求教:ora-03114錯誤從哪里排查?

ERP軟件偶爾會報 ora-03114錯誤 未連接到oracle我檢查數據庫的根超時有關的設置dba_profiles中的如下兩個參數&#xff0c;都是不限制connect_timeunlimitedidle_timeunlimitedsqlnet.net中&#xff0c;只設置了如下參數SQLNET.EXPIRE_TIME5 --這個用來清除僵死連接的監聽日志文…

python大學什么專業學校_好學校的差專業和一般大學的好專業,該怎么選?我來說真話……...

假如是985&#xff0c;那么只能調劑專業&#xff0c;那么好點211能選到不錯的專業。那該怎么選擇&#xff1f;其實不單單是985/211的問題&#xff0c;是所有考生的任何一個分數都面臨這個問題。比如清華北大被調劑&#xff0c;是去復交金融&#xff0c;還是去清華北大調劑去學環…

oracle查詢表nextval,Oracle Database 建立與查詢 Sequence

相關的 Oracle Database Sequence 資訊如下&#xff1a;建立 Sequence 語法create sequence ._sincrement by 1start with 1maxvalue 99999999999999999999minvalue 1nocycle;其中 :incerment: 每次增加的數值start : Sequence 開始數值maxvalue : Sequence 最大值nocycle …

vision軟件_Roboguide軟件:高速拾取仿真工作站相機與工具添加與配置

上一期為大家介紹了機器人高速拾取仿真工作站中工件、視覺校準板、輸送帶等外圍設備的添加與配置&#xff0c;本期再來為大家介紹一下相機、機器人工具的添加與配置。一、相機添加與配置1.左側瀏覽樹中右擊“Sensor Units”&#xff0c;在彈出的快捷菜單中依次點擊“Add Sensor…

oracle00333,Oracle數據庫REDO損壞ora-00333修復手札

1.事情起因接到電話&#xff0c;周日意外斷電&#xff0c;數據庫起不了&#xff0c;報REDO CRASH,ora-00333錯誤。相關環境如下&#xff1a;RAC oracle_11.2.0.3&#xff0c;無備份&#xff0c;開歸檔。2 處理一到現場&#xff0c;既然對方沒有備份&#xff0c;那就做一個冷備份…

oracle cannot allocate new log,Thread 1 cannot allocate new log

今天發現alter.log有以下信息&#xff1a;Thread 1 cannot allocate new log, sequence 6166Private strand flush not complete對于這個錯誤信息得解釋如下&#xff1a;當系統要重新利用某個日志文件的時候&#xff0c;系統需要將該日志文件所包括的buffer cache 中的dirty bl…

arduino tft 方向_ESP32在Arduino環境下玩轉 LVGL,ESP32移植LVGL詳細教程

微信關注 “DLGG創客DIY”設為“星標”&#xff0c;重磅干貨&#xff0c;第一時間送達。?轉載自慕容流年 https://me.csdn.net/qq_41868901?1. LVGL簡介LittlevGL是一個免費的開源圖形庫&#xff0c;提供了創建嵌入式GUI所需的一切&#xff0c;具有易于使用的圖形元素、漂亮的…

linux內核開文件系統,內核必須懂(二): Linux文件系統初探

目錄前言文件系統結構新建文件和inode文件創建過程inode解析打開文件參考最后前言這次來說文件系統. 文件系統是非常重要的, 提高磁盤使用率, 減小磁盤磨損等等都是文件系統要解決的問題. 市面上的文件系統也是數不勝數, 比較常用的像ext4, xfs以及ntfs等等, 國內的像鵝廠的tfs…