Python格式化輸出的幾種匯總
Python中三種格式化輸出的方式
比如要求用戶輸入用戶名和年齡,然后打印如下格式:
a = "------------- info -------------"
b = "name:"
c = "age:"
d = "job:"
e = "-------------- end -------------"
name = input("name")
age = input("age")
job = input("job")
print(a + "\n" + b + name + "\n" + c + age + "\n"+ d + job + "\n" +e)
那么這樣實(shí)現(xiàn)特別繁瑣,代碼不簡潔,而且繁瑣,那么這時(shí)候就要用到字符串的格式化輸出:
第一種
利用%(稱之為:占位符)格式化輸出:
占位符很簡單:如 %s(針對(duì)所有數(shù)據(jù)類型) %d(僅僅針對(duì)整數(shù)類型)
s = """ ------------- info -------------
name:%s
age:%s
job:%s
-------------- end -------------
"""
name = input("name:")
age = int(input("age:"))
job = input("job:")
print(s%(name,age,job))
這樣就沒有上面看起來那么冗余
百分比
print("這部<<%(name)s>>電視劇,我已經(jīng)看了85%%" % {"name": "特種兵"})
輸出:
這部<<特種兵>>電視劇,我已經(jīng)看了85%
注:一旦字符串格式化中出現(xiàn)百分比的顯示,一定要加兩個(gè)%%以實(shí)現(xiàn)輸出一個(gè)%.
第二種
f-String格式化(第二種格式化輸出)(3.6版本,具有向上兼容)建議使用使打印更加好看
print(f"你是誰{任意的變量,和參數(shù)}")
print(f"{alxe * 2}")#可以任意的運(yùn)算
name = 'Bertram'
age = 3
print(f"hello,{name},you are {age}")
#輸出:
hello,Bertram,you are 30
第三種
利用format格式化輸出format格式化(第三種格式化輸出)(3.4版本,具有向上兼容),建議使用
比較簡單,實(shí)用
f或者F都可以哦
name = input("請(qǐng)輸入您的姓名:")
QQ = int(input("請(qǐng)輸入您的qq:"))
phone = input("請(qǐng)輸入您的電話:")
addr=input("請(qǐng)輸入您的地址:")print('姓名:{} 年齡:{}歲'.format(name,25))
print('QQ:{}'.format(QQ))
print('手機(jī)號(hào):{}'.format(phone))
print('地址:{}'.format(addr))
#輸出:
姓名:Bertram 年齡:25歲
QQ:123425212
手機(jī)號(hào):010-24184241
地址:北京name = 'Bertram'
age = 30
print("hello,{1},you are {0}".format(age,name))#索引是根據(jù)format后的數(shù)據(jù)進(jìn)行的哦
#輸出:
hello,Bertram,you are 30name = '杰'
age =26
print("hello,{name},you are {age}.".format(age=age, name=name))
#輸出:
hello,杰,you are 26.
format方法
位置映射
實(shí)例:
print("{}:{}".format('192.168.0.100',8888)) #192.168.0.100:8888
關(guān)鍵字映射
實(shí)例:
print("{0[0]}.{0[1]}".format(('baidu','com'))) #baidu.com
元素訪問
實(shí)例:
print("{0[0]}.{0[1]}".format(('baidu','com'))) #baidu.com
填充對(duì)齊
^、<、>分別是居中、左對(duì)齊、右對(duì)齊
實(shí)例:
print("{0}*{1}={2:0>2}".format(3,2,2*3)) #3*2=06 print("{:*^30}".format('centered')) #***********centered***********
九九乘法表
for i in range(1, 10): for j in range(1, 10): if j <= i: print(f'{j}*{i}={i * j}', end="\t") print() ''' 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 '''
精度設(shè)置
實(shí)例
print("{:.3f}".format(2.1415)) #2.142 print("{:.10f}".format(3.1415)) #3.1415000000
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3 執(zhí)行系統(tǒng)命令并獲取實(shí)時(shí)回顯功能
這篇文章主要介紹了Python3 執(zhí)行系統(tǒng)命令并獲取實(shí)時(shí)回顯功能,文中通過兩種方法給大家介紹了Python執(zhí)行系統(tǒng)命令并獲得輸出的方法,需要的朋友可以參考下2019-07-07Python實(shí)現(xiàn)獲取域名所用服務(wù)器的真實(shí)IP
本文是給大家分享的使用python獲取到域名所在服務(wù)器的真實(shí)IP,原因是現(xiàn)在很多的網(wǎng)站都使用了CDN,大家很難直接查到域名的服務(wù)器的IP,本文是使用了一個(gè)巧妙的方法,詳情請(qǐng)仔細(xì)看看下文吧2015-10-10python轉(zhuǎn)化excel數(shù)字日期為標(biāo)準(zhǔn)日期操作
這篇文章主要介紹了python轉(zhuǎn)化excel數(shù)字日期為標(biāo)準(zhǔn)日期操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07將keras的h5模型轉(zhuǎn)換為tensorflow的pb模型操作
這篇文章主要介紹了將keras的h5模型轉(zhuǎn)換為tensorflow的pb模型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05python設(shè)計(jì)并實(shí)現(xiàn)平面點(diǎn)類Point的源代碼
這篇文章主要介紹了python-設(shè)計(jì)并實(shí)現(xiàn)平面點(diǎn)類Point,定義一個(gè)平面點(diǎn)類Point,對(duì)其重載運(yùn)算符關(guān)系運(yùn)算符,關(guān)系運(yùn)算以距離坐標(biāo)原點(diǎn)的遠(yuǎn)近作為基準(zhǔn),需要的朋友可以參考下2024-05-05Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word簡明教程
這篇文章主要介紹了Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word,需要的朋友可以參考下2014-07-07python 多進(jìn)程通信模塊的簡單實(shí)現(xiàn)
這篇文章主要介紹了python 多進(jìn)程通信模塊的簡單實(shí)現(xiàn),需要的朋友可以參考下2014-02-02Python程序員開發(fā)中常犯的10個(gè)錯(cuò)誤
這篇文章主要介紹了Python程序員開發(fā)中常犯的10個(gè)錯(cuò)誤,不知道你有沒有中槍呢,需要的朋友可以參考下2014-07-07