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

Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法;

Python是完全面向对象的语言, 任何东西都是对象;

字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;

使用”:”, 指定代表元素需要的操作, 如”:.3”小数点三位, “:8”占8个字符空间等;

还可以添加特定的字母, 如:
‘b’ - 二进制. 将数字以2为基数进行输出.
‘c’ - 字符. 在打印之前将整数转换成对应的Unicode字符串.
‘d’ - 十进制整数. 将数字以10为基数进行输出.
‘o’ - 八进制. 将数字以8为基数进行输出.
‘x’ - 十六进制. 将数字以16为基数进行输出, 9以上的位数用小写字母.
‘e’ - 幂符号. 用科学计数法打印数字, 用’e’表示幂.
‘g’ - 一般格式. 将数值以fixed-point格式输出. 当数值特别大的时候, 用幂形式打印.
‘n’ - 数字. 当值为整数时和’d’相同, 值为浮点数时和’g’相同. 不同的是它会根据区域设置插入数字分隔符.
‘%’ - 百分数. 将数值乘以100然后以fixed-point(‘f’)格式打印, 值后面会有一个百分号.

In [1]: '{0},{1}'.format('kzc',18) 
Out[1]: 'kzc,18' 
In [2]: '{},{}'.format('kzc',18) 
Out[2]: 'kzc,18' 
In [3]: '{1},{0},{1}'.format('kzc',18) 
Out[3]: '18,kzc,18'

字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。

  • 通过关键字参数
In [5]: '{name},{age}'.format(age=18,name='kzc') 
Out[5]: 'kzc,18'
  • 通过对象属性
class Person: 
  def __init__(self,name,age): 
    self.name,self.age = name,age 
    def __str__(self): 
      return 'This guy is {self.name},is {self.age} old'.format(self=self) 
In [2]: str(Person('kzc',18)) 
Out[2]: 'This guy is kzc,is 18 old'
In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'

另外,还可以轻松的传个list/tuple/dict给format函数。非常灵活。

格式限定符
语法是{}中所带:号即为格式限定符,如:

  • 填充与对齐

填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
例如:’{:<8.3}’.format(0.12345) 输出为 0.123 ,共占八个字符位置,可以用来进行输出对齐;

In [15]: '{:>8}'.format('189')
Out[15]: '   189'
In [16]: '{:0>8}'.format('189')
Out[16]: '00000189'
In [17]: '{:a>8}'.format('189')
Out[17]: 'aaaaa189'

‘{:<8.3}’.format(0.12345)
- 精度与类型f
精度常跟类型f一起使用

In [44]: '{:.2f}'.format(321.33345)
Out[44]: '321.33'

其中.2表示长度为2的精度,f表示float类型。

  • 其他类型
    主要就是进制,b、d、o、x分别是二进制、十进制、八进制、十六进制。
In [54]: '{:b}'.format(17)
Out[54]: '10001'
In [55]: '{:d}'.format(17)
Out[55]: '17'
In [56]: '{:o}'.format(17)
Out[56]: '21'
In [57]: '{:x}'.format(17)
Out[57]: '11'

用,号还能用来做金额的千位分隔符。

In [47]: '{:,}'.format(1234567890)
Out[47]: '1,234,567,890'
Python中格式化format()方法详解Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法;Python是完全面向对象的语言, 任何东西都是对象;字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;使用”:”, 指定代表元素需要的操作, 如”:.3”小数点三位, “:8”占8个字符空间等;还可以添
format用法 相对基本格式化输出采用‘%’的方法format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’ 使用方法由两种:b.format(a)和format(a,b)。 1、基本用法   (1)不带编号,即“{}”   (2)带数字编号,可调换顺序,即“{1}”、“{2}”   (3)带关键字,即“{a}”...
前面跟大家分享过占位符%,最近发现了个更好用的格式化输出函数format,故做了个总结,下面将是对format函数的用法全解。 首先,format是一个字符串的函数 表达式为 str.format(),采用了 {} 来代替占位符 % format(value, format_spec='', /) #这个为调用格式 value 表示格式化输入的值(参数),可以接受不限个参数 format函数的位置参数用法 “{0}”.format(value) "The dog is {} years old,n
设置了指定位置后,会按照指定位置传入 print("{0} {1}".format("Hello","World")) print("{1} {0}".format("Hello","World")) print...
Python字符串类型的格式化 关于字符串的格式化Python支持类似于C语言的printf()函数的格式化方法,也支持format()方法格式化方法,因为Python更接近自然语言的复杂数据类型,无法全部通过类C的格式化方法,所以学Python着重使用format()方法进行字符串的格式化。 一、format()函数的基本使用 1、 print("{}{}".format(a,b),这里{}成为槽,要把后边format里的内容对应放在里边,假如a,b = 1,2 ,输出的结果为12; *2、*如果{}
fotmat作为Python的的格式字符串函数,主要通过字符串的花括号{},来识别替换字段,从而完成字符串的格式化。 print("我叫{},今年{}岁。".format("小蜜",18)) #我叫小蜜,今年18岁。 #花括号的个数决定了,参数的个数。但是花括号的个数可以少于参数。 print("我喜欢{}和{}"format("乒乓球","羽毛球","敲代码")) #我喜欢乒乓球和羽毛球。 花括号多于参数的个数,则会报错。
format是是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。 1.不需要理会数据类型的问题,在%方法%s只能替代字符串类型 2.单个参数可以多次输出,参数顺序可以不相同 3.填充方式十分灵活,对齐方式十分强大 4.官方推荐用的方式,%方式将会在后面的版本被淘汰 format的一个例子 print 'hello {0}'.format...
### 回答1: Python格式化输出是通过字符串的format()方法实现的。它可以将变量插入到字符串,使输出更加灵活和易读。使用format()方法时,需要在字符串使用花括号{}来表示要插入变量的位置,并在format()方法传入相应的变量。例如: name = "小明" age = 18 print("我叫{},今年{}岁。".format(name, age)) 输出结果为:我叫小明,今年18岁。 在format()方法,还可以使用格式化字符串来控制输出的格式。例如,可以使用{:d}来表示输出整数,{:f}来表示输出浮点数,{:s}来表示输出字符串等等。例如: num = 3.1415926 print("圆周率的值是{:.2f}。".format(num)) 输出结果为:圆周率的值是3.14。 除了使用花括号{}来表示要插入变量的位置外,还可以使用数字来表示要插入的变量的位置。例如: name = "小明" age = 18 print("我叫{},今年{1}岁。{}是个好名字。".format(name, age)) 输出结果为:我叫小明,今年18岁。小明是个好名字。 总之,Python格式化输出非常灵活和方便,可以根据需要随时调整输出的格式和内容。 ### 回答2: Python是一种强大的编程语言,其一个强大的功能是利用字符串格式化输出数据,即format函数。格式化输出是指将变量插入到字符串的特定位置,结构化地显示数据,使之易于理解。 Python format() 函数的语法是:string.format()其,string是要格式化的字符串,格式化参数可以是字符串、字典、元组或列表。格式化参数通常用花括号 {} 表示,可以指定参数的位置或者用名字来引用参数。 在进行格式化时,需要用一对大括号 {} 标示需要被替换的位置,格式化的参数列表依次填充大括号的值,在大括号可以指定参数的位置和名称,在大括号添加“{数字}”来指定参数位置,数字表示参数在“format()”的位置。 例如,“format("{} {} {}".format(a, b, c))”。 另外,括号可以用名称来指定参数,名称需要在“format()”函数指定。例如“format("{name}, {age}".format(name='张三', age=18))”。 format函数也可以用来限制输出的小数位数,例如“format("{:.2f}".format(3.1415926))”,将输出小数点后两位,结果为“3.14”。 除了支持字符串格式化之外,format函数还可以进行颜色渲染,使用方法为“\033[显示方式;字体色;背景色m”,例如红色字体输出为“\033[31m红色字体\033[0m”,其的“\033[0m”表示恢复默认颜色。 总的来说,format函数在Python非常常用,可以用于字符串的格式化、颜色渲染等场景,使用灵活方便。需要掌握的技巧包括使用大括号{}指定参数位置或名称,指定小数位等等。 ### 回答3: Python语言是一款非常灵活的语言,能够对数据有效的进行处理,而格式化输出是Python程序非常重要的功能之一,而format就是Python语言的字符串格式化,用于对字符串进行格式化输出。 Pythonformat函数提供了一种非常灵活的方式来格式化字符串。通过使用大括号 {} 来指定要填充的值,同时还可以使用多个参数进行填充。 在编写Python程序时,可以使用format函数来指定输出的样式。 引号之间的文本就是格式字符串,可以包含相应的占位符,用来指定要输出的内容。占位符由大括号包裹,其大括号的内容可以包括一个格式化字段,格式化字段由一个或多个替换字段组成,替换字段可以用来指定不同的输出。 在format函数,我们可以使用多种占位符来指定输出的格式,如 %d 表示输出一个整数, %f 表示输出一个小数,%s 表示输出一个字符串,%x 表示输出一个16进制数。此外,format函数还支持使用特定格式的占位符来对输出进行格式化显示,如 %06d 表示输出一个6位的数字不足补0。常用的格式化占位符如下: • %s:字符串格式。 • %d:整数格式。 • %f:浮点数格式。 • %o:八进制格式。 • %x:十六进制格式。 • %e:科学计数法格式(小写)。 • %E:科学计数法格式(大写)。 通过使用format函数,可以对Python程序的数据进行格式化输出。使用format函数可以使输出更加美观,更加符合程序的需求。总的来说,format函数为Python程序提供了一种强大的工具,使程序输出更为可读和可操作。