網站首頁 編程語言 正文
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)
那么這樣實現特別繁瑣,代碼不簡潔,而且繁瑣,那么這時候就要用到字符串的格式化輸出:
第一種
利用%(稱之為:占位符)格式化輸出:
占位符很簡單:如 %s(針對所有數據類型) %d(僅僅針對整數類型)
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>>電視劇,我已經看了85%%" % {"name": "特種兵"})
輸出:
這部<<特種兵>>電視劇,我已經看了85%
注:一旦字符串格式化中出現百分比的顯示,一定要加兩個%%以實現輸出一個%.
第二種??
f-String格式化(第二種格式化輸出)(3.6版本,具有向上兼容)建議使用使打印更加好看
print(f"你是誰{任意的變量,和參數}")
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))#索引是根據format后的數據進行的哦
#輸出:
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
關鍵字映射
實例:
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
'''
精度設置
實例
print("{:.3f}".format(2.1415))
#2.142
print("{:.10f}".format(3.1415))
#3.1415000000
總結
原文鏈接:https://bertram.blog.csdn.net/article/details/107458874
相關推薦
- 2022-12-24 淺析如何截獲C#程序產生的日志_C#教程
- 2022-08-10 淺談Redis變慢的原因及排查方法_Redis
- 2023-10-17 My-form組件,基于element傳參展示用于后臺管理篩選的表單框
- 2022-07-29 Linux中Vi和Vim編輯器用法詳解_linux shell
- 2022-05-18 Qt?關于容器的遍歷迭代器的使用問題小結_C 語言
- 2022-10-07 Flutter?GetPageRoute實現嵌套導航學習_IOS
- 2022-12-06 Python之列表的append()方法最容易踩的坑_python
- 2022-08-06 C#后臺調用WebApi接口的實現方法_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支