Python format格式化字符串(转)

转自:

https://www.cnblogs.com/wilber2013/p/4641616.html 

# 位置参数
print("{0} is {1} years old".format("Wilber", 28))
print("{} is {} years old".format("Wilber", 28))
print("Hi, {0}! {0} is {1} years old".format("Wilber", 28))

# 关键字参数
print("{name} is {age} years old".format(name = "Wilber", age=28))

# 下标参数
li = ["Wilber", 28]
print("{0[0]} is {0[1]} years old".format(li))

# 填充与对齐
# ^、<、>分别是居中、左对齐、右对齐,后面带宽度
# :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
print('{:>8}'.format('3.14'))
print('{:<8}'.format('3.14'))
print('{:^8}'.format('3.14'))
print('{:0>8}'.format('3.14'))
print('{:a>8}'.format('3.14'))

# 浮点数精度
print('{:.4f}'.format(3.1415926))
print('{:>10.4f}'.format(3.1415926))    #    3.1416
print('{:z>10.4f}'.format(3.1415926))    #zzzz3.1416

# 进制
# b、d、o、x分别是二进制、十进制、八进制、十六进制
print('{:b}'.format(11))
print('{:d}'.format(11))
print('{:o}'.format(11))
print('{:x}'.format(11))
print('{:#x}'.format(11))
print('{:#X}'.format(11))

# 千位分隔符
print('{:,}'.format(123456789))

更新部分:

 

# 大部分内部参照如下博客,谢谢
# https://www.cnblogs.com/benric/p/4965224.html
# https://www.cnblogs.com/lvcm/p/8859225.html

# 1. 使用位置参数
# 顺序可以根据索引进行调节,只要format里有相对应的参数值.
# 参数索引从0开始,传入参数列表用可以用"*列表"

li = ['hoho', 30]
print('my name is {} ,age {}'.format('hoho',30))
print('my name is {1} ,age {0}'.format(30,'hoho'))
print('my name is {1} ,age {0} {1}'.format(30,'hoho'))
print('my name is {} ,age {}'.format(*li))

print("{}:{}".format('192.168.0.100',8888)) # 冒号为字符串章的分隔符

# 使用关键字参数
# 字典前加**即可
hash = {'name': 'hoho', 'age': 30}
print('my name is {name}, age is {age}'.format(name='hoho', age=30))
print('my name is {name}, age is {age}'.format(**hash))

print("{server}{1}:{0}".format(8888,'192.168.0.100',server='Web Server Info :'))
# ('192.168.0.100','8888'是一个元组,{0}和{1}是元组的索引值)

# 填充与格式化
print('{0:*>10}'.format(10))
print('{0:*<10}'.format(10))
print('{0:*^10}'.format(10))

# 打印结果如下:
# ********10
# 10********
# ****10****

# 精度与进制
print('{0:.2f}'.format(1/3))
print('{0:b}'.format(10)) #二进制
print('{0:o}'.format(10)) #八进制
print('{0:x}'.format(10)) #十六进制
print('{:,}'.format(1234567890)) #千分位格式化



 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值