網(wǎng)站首頁 編程語言 正文
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)
那么這樣實現(xiàn)特別繁瑣,代碼不簡潔,而且繁瑣,那么這時候就要用到字符串的格式化輸出:
第一種
利用%(稱之為:占位符)格式化輸出:
占位符很簡單:如 %s(針對所有數(shù)據(jù)類型) %d(僅僅針對整數(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)百分比的顯示,一定要加兩個%%以實現(xiàn)輸出一個%.
第二種??
f-String格式化(第二種格式化輸出)(3.6版本,具有向上兼容)建議使用使打印更加好看
print(f"你是誰{任意的變量,和參數(shù)}")
print(f"{alxe * 2}")#可以任意的運算
name = 'Bertram'
age = 3
print(f"hello,{name},you are {age}")
#輸出:
hello,Bertram,you are 30
第三種?
利用format格式化輸出format格式化(第三種格式化輸出)(3.4版本,具有向上兼容),建議使用
比較簡單,實用
f或者F都可以哦
name = input("請輸入您的姓名:")
QQ = int(input("請輸入您的qq:"))
phone = input("請輸入您的電話:")
addr=input("請輸入您的地址:")print('姓名:{} ?年齡:{}歲'.format(name,25))
print('QQ:{}'.format(QQ))
print('手機號:{}'.format(phone))
print('地址:{}'.format(addr))
#輸出:
姓名:Bertram ?年齡:25歲
QQ:123425212
手機號:010-24184241
地址:北京name = 'Bertram'
age = 30
print("hello,{1},you are {0}".format(age,name))#索引是根據(jù)format后的數(shù)據(jù)進行的哦
#輸出:
hello,Bertram,you are 30name = '杰'
age =26
print("hello,{name},you are {age}.".format(age=age, name=name))
#輸出:
hello,杰,you are 26.
format方法
位置映射
實例:
print("{}:{}".format('192.168.0.100',8888))
#192.168.0.100:8888
關(guān)鍵字映射
實例:
print("{0[0]}.{0[1]}".format(('baidu','com')))
#baidu.com
元素訪問
實例:
print("{0[0]}.{0[1]}".format(('baidu','com')))
#baidu.com
填充對齊
^、<、>分別是居中、左對齊、右對齊
實例:
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è)置
實例
print("{:.3f}".format(2.1415))
#2.142
print("{:.10f}".format(3.1415))
#3.1415000000
總結(jié)
原文鏈接:https://bertram.blog.csdn.net/article/details/107458874
相關(guān)推薦
- 2022-04-30 .Net?生成壓縮文件問題記錄(推薦)_實用技巧
- 2022-10-31 Kotlin類與屬性及構(gòu)造函數(shù)的使用詳解_Android
- 2022-08-22 詳解Go語言中for循環(huán),break和continue的使用_Golang
- 2022-07-25 C++細講深淺拷貝與初始化列表如何操作_C 語言
- 2022-08-19 Go語言fsnotify接口實現(xiàn)監(jiān)測文件修改_Golang
- 2022-12-27 golang中日期操作之日期格式化及日期轉(zhuǎn)換_Golang
- 2022-07-14 Python萬物皆對象理解及源碼學(xué)習(xí)_python
- 2022-04-29 Go語言中的并發(fā)goroutine底層原理_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支