python中format格式化输出总结

python中format格式化输出总结,第1张

目录
    • 一、基本用法
      •    1.1 位置替换
      •   1.2 索引替换
      •   1.3 关键字匹配
      •   1.4 对象替换
      •   1.5 内嵌替换
    • 二、常用格式化输出方式
      • 2.1 左对齐及填充
      • 2.2 右对齐及填充
      • 2.2 居中对齐及填充
      • 2.3 截取指定长度字符串
      • 2.4 百分号
      • 2.5 逗号分隔符
      • 2.6 变形用法
      • 2.7 时间格式化输出
      • 2.8 特殊占位符(!)
    • 三、参考链接

一、基本用法    1.1 位置替换
# 按照先后顺序对format内容进行替换
'名字:{}, 性别:{}'.format('张三', '男')
# 输出: 
#   '名字:张三,性别:男'
  1.2 索引替换
# 按照索引对format内容进行替换
'名字:{0}, 性别:{1}, 名字:{0}'.format('张三', '男')
# 输出: 
#   '名字:张三,性别:男, 名字:张三'
  1.3 关键字匹配
# 按照索引对format内容进行替换
'名字:{name}, 性别:{gender}, 名字:{name}'.format(name='张三', gender='男')
# 输出: 
#   '名字:张三,性别:男, 名字:张三'
  1.4 对象替换
# =======对象为元组==========#
info1 = ("张三", "男")
info2 = ('李四', '女')
'名字:{0[0]}, 性别:{0[1]}; 名字:{1[0]}, 性别:{1[1]}'.format(info, info)
# 输出:
# '名字:张三, 性别:男; 名字:李四, 性别:女'

# =========== 字典 ==========#
info1 = {'姓名': '张三', '性别':'男'}
info2 = {'姓名': '李四', '性别':'女'}
'名字:{0[姓名]}, 性别:{0[性别]}; 名字:{1[姓名]}, 性别:{1[性别]}'.format(info1, info2)
# 输出:
# '名字:张三, 性别:男; 名字:李四, 性别:女'
  1.5 内嵌替换
print('hello {0:{1}>{2}} '.format('李四','*',10))
# 输出: hello ********李四
二、常用格式化输出方式

   常用格式化输出方式具体如下代码所示

2.1 左对齐及填充
#========== 左对齐 ==========#
'%-5s'%'张三'              # 常数5表示占5个字符,-:表示左对齐
# 输出:'张三    '
'{:<5}'.format('张三')
# 输出:'张三    '
'{:*<5}'.format('张三')    #  <表示左对齐, *表示用*号进行填充, 常数5表示占5个字符
# 输出:'张三***'
2.2 右对齐及填充
#========== 右对齐 ===========#
'%5s'%'张三'               # 常数5表示占5个字符,默认右对齐
#输出:'   张三'
'{:>5}'.format('张三')     # 常数5表示占5个字符, >表示右对齐
# 输出:'   张三'
'{:*>5}'.format('张三')    #  >表示右对齐, *表示用*号进行填充, 常数5表示占5个字符
# 输出:'***张三'
2.2 居中对齐及填充
#========== 居中对齐 ===========#
'{:^5}'.format('张三')
# 输出:' 张三  '
'{:*^5}'.format('张三')    #  >表示右对齐, *表示用*号进行填充, 常数5表示占5个字符
# 输出:'*张三**'
2.3 截取指定长度字符串
#===== 截取指定长度字符串 =====# 
'%.2s'%'张三李四'  # 表示从字符串中截取两个字符
# 输出:'张三'
2.4 百分号
#===== 百分号-% =====# 
'{:%}'.format(0.2)     # 默认输出保留6位小数
# 输出:'20.000000%' 
'{:.2f%}'.format(0.2)     # 默认输出保留6位小数
# 输出:'20.000000%' 
"{:.2%}".format(0.02)  # 百分比计算 常用
# 输出:'2.00%'
2.5 逗号分隔符
# ===== 逗号分隔符 =====%
'{:,}'.format(1232434234234)
# 输出:'1,232,434,234,234'
2.6 变形用法
# ============= 变形用法 ============#
keyWord = 'speech enhancemetn'
url = f'https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText={keyWord}'

# 输出:'https://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=speech enhancemetn'
2.7 时间格式化输出
# ======== 对时间格式化输出 ========= #
import datetime
d = datetime.datetime(2022, 4, 29, 9, 52, 20)
print('{:%Y-%m-%d %H:%M:%S}'.format(d))
# 输出: '2022-04-29 09:52:20'
2.8 特殊占位符(!)
# ========== 特殊占位符'!' ============= #
# !后面加s r a分别对应str(), repr(), ascii()函数,其目的是在填充前先用对应的函数来处理相应参数

# repr()函数的作用,如下所示
# 示例一
repr('李四')   # 返回字符串
# 输出:"'李四'"
# 示例二
dict = {'runoob': 'runoob.com', 'google': 'google.com'}
repr(dict)
# 输出: "{'runoob': 'runoob.com', 'google': 'google.com'}"
# 示例三
s="物品\t单价\t数量\n包子\t1\t2"
print(s)
print(repr(s))  # repr() 方法可以将读取到的格式字符,比如换行符、制表符,转化为其相应的转义字符。
# print(s)的输出:
# 物品	单价	数量
# 包子	1	2
# print(repr(s))的输出
# '物品\t单价\t数量\n包子\t1\t2'
三、参考链接

  1、python格式化输出
  2、用format格式化输出字符串
  3、python中format用法
  4、Python格式化输出之format用法详解

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/791148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存