字符串格式化format方法

通过位置参数传参

print(‘{}, {}‘.format(‘KeithTt‘, 18))
# KeithTt, 18

位置参数可以通过索引调用

print(‘{1}, {0}‘.format(‘KeithTt‘, 18))
# 18, KeithTt

通过关键字参数传参

print(‘{name}, {age}‘.format(name=‘KeithTt‘, age=18))
# KeithTt, 18
print(‘{age}, {name}‘.format(name=‘KeithTt‘, age=18))
# 18, KeithTt


^, <, > 分别是居中、左对齐、右对齐,后面带宽度

: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充

+ 表示总是显示正负符号,在正数前显示 +,负数前显示 -

b、d、o、x 分别是二进制、十进制、八进制、十六进制



保留两位小数,其中.2表示精度,f表示float类型

print(‘{:.2f}‘.format(3.1415926))
# 3.14

不带小数

print(‘{:.0f}‘.format(3.1415926))
# 3

加号 + 表示总是输出正负符号

print(‘{:+.2f}‘.format(3.1415926))
# +3.14
print(‘{:+.2f}‘.format(-3.1415926))
# -3.14

指定宽度和对齐方式,默认是右对齐>,>符号可省

print(‘{:>10.2f}‘.format(3.1415926))
#       3.14
print(‘{:<10.2f}‘.format(3.1415926))
# 3.14
print(‘{:^10.2f}‘.format(3.1415926))
#    3.14

指定填充字符,默认是空格,只能是一个字符

print(‘{:0>10.2f}‘.format(3.1415926))
# 0000003.14
print(‘{:*>10.2f}‘.format(3.1415926))
# ******3.14
print(‘{:*<10.2f}‘.format(3.1415926))
# 3.14******

用等号 = 让正负符号单独在最前面

print(‘{:=+10.2f}‘.format(3.1415926))
# +     3.14
print(‘{:=+10.2f}‘.format(-3.1415926))
# -     3.14

加上填充字符,正负符号始终在最前面

print(‘{:*=+10.2f}‘.format(3.1415926))
# +*****3.14
print(‘{:0=+10.2f}‘.format(3.1415926))
# +000003.14

用逗号分隔数字

print(‘{:,}‘.format(1000000))
# 1,000,000

将浮点数转换成百分比格式

print(‘{:.0%}‘.format(0.25))
# 25%

使用大括号 {} 转义大括号

print (‘{}对应的位置是{{0}}‘.format(‘KeithTt‘))
# KeithTt对应的位置是{0}

另外,除了format()之外,字符串对象还有一些其它更直观的格式化方法

  • str.ljust(): 左对齐
  • str.rjust(): 右对齐
  • str.center(): 居中

示例: 格式化打印下面的数据,要求key对齐

d = {
    ‘lodDisk‘: 100.0,
    ‘SmallCull‘: 0.04,
    ‘DistCull‘: 500.0,
    ‘trilinear‘: 40,
    ‘farclip‘: 477
}

# 计算出所有key的最长宽度
w = max(map(len, d.keys()))
print(w)
# 9

for k,v in d.items():
    print(k.ljust(w), ‘:‘, v)
lodDisk   : 100.0
SmallCull : 0.04
DistCull  : 500.0
trilinear : 40
farclip   : 477

参考:

https://docs.python.org/3/library/string.html#format-specification-mini-language

http://docspy3zh.readthedocs.io/en/latest/tutorial/inputoutput.html

http://www.runoob.com/python/att-string-format.html

原文地址:https://www.cnblogs.com/keithtt/p/9420738.html

时间: 2024-08-29 22:45:03

字符串格式化format方法的相关文章

Python中格式化format()方法详解

Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加; 使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等; 还可以添加特定的字母, 如: 'b' - 二进制. 将数字以2为基数

字符串格式化format很牛B

python的format方法可谓相当强大,它可以接受不限个参数... 1.通过位置来格式化字符串,注意format传入的参数的位置要正确{0}对应第1个参数,{1}对应第2个参数... 1 >>> '{0},{1}'.format('kzc',18) 2 'kzc,18' 3 >>> '{},{}'.format('kzc',18) 4 'kzc,18' 5 >>> '{1},{0},{1}'.format('kzc',18) 6 '18,kzc,1

字符串格式化format函数

本文来自https://www.cnblogs.com/liwenzhou/p/8570701.html python中字符串格式化可以用%和format函数 但是官方推荐使用format进行格式化,以下是一些扩展内容. s={'k1':'v1','k2':'v2'} print('这是{}?'.format(s)) 一个简单的小例子感觉format函数就方便一点. 在Python3.6中加入了f-strings: name='zz' age=18 print(f'My name is {nam

Python字符串格式化--format()的应用

1.简单运用 字符串类型格式化采用format()方法,基本使用格式是:转自 <模板字符串>.format(<逗号分隔的参数>) 调用format()方法后会返回一个新的字符串,参数从0 开始编号. "{}:计算机{}的CPU 占用率为{}%.".format("2016-12-31","PYTHON",10) Out[10]: '2016-12-31:计算机PYTHON的CPU 占用率为10%.' format()方法可

python 字符串格式化—format

Python2.6 开始,新增了一种格式化字符串的函数 str.format().使用起来简单方便,不会遇到使用%时候格式的选择问题. 按照参数默认顺序 >>> "yesday is {}, today is {}".format("saturday", "sunday") 'yesday is saturday, today is sunday' >>> 指定参数顺序 >>> "y

python之字符串格式化(format)

用法: 它通过{}和:来代替传统%方式 1.使用位置参数 要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表 >>> li = ['hoho',18] >>> 'my name is {} ,age {}'.format('hoho',18) 'my name is hoho ,age 18' >>> 'my name is {1} ,age {0}'.form

前段 format方法

a.为字符串创建format方法,用于字符串格式化 String.prototype.format=function (arg) { //console.log(this,arg); //this,当前调用方法的字符串,arg为Format方法传入的参数 //return '666'; //return,格式化之后获取的新内容,return啥就替换为啥 var temp = this.replace(/\{(\w+)\}/g,function (k,kk) { // k相当于{(\w+)},kk

字符串格式化输出

我们格式化构建字符串可以有3种方法:1 元组占位符m = 'python'astr = 'i love %s' % mprint astr2 字符串的format方法m = 'python'astr = "i love {python}".format(python=m)print astr3 字典格式化字符串m = 'python'astr = "i love %(python)s " % {'python':m}print astr大家可以根据自己的实际情况来选

Python从菜鸟到高手(15):字符串格式化

1. 字符串格式化基础 字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(%) 替换.如一句问候语:"Hello 李宁",其中"Hello"是固定的,但"李宁"可能变成任何一个人的名字,如"乔布斯",所以在这个字符串中,"Hello"是固定的部分,而"李宁"是动态变