关于字符串的格式化----format与%

Posted zhao01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于字符串的格式化----format与%相关的知识,希望对你有一定的参考价值。

格式化字符串一般有两种方法

1、%(d整数,s字符,f浮点数) 2、format 用处极为广泛且限制不多

注意:第一种对于数组的传递会报TypeError,所以必须传递数组

a = (1, 2, 3)
# b = ‘I have %s‘ % (a)
b = ‘I have %s‘ % (a,)
print(b)

format传递参数

1、位置

a = ‘{0}:{1}‘.format(‘abc‘, 123)
print(a)

2、关键字

a = ‘{name},{age}‘.format(name=‘Mike‘, age=28)
print(a)

3、对象属性

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)


a = str(Person(‘Lucy‘, 18))
print(a)

4、下标 针对列表、数组等有序集合

p = [‘kzc‘, 18]
a = ‘{0[0]},{0[1]}‘.format(p)
print(a)

format 限定格式

1、填充与对齐 下面 > 表右对齐 < 左对齐 ^ 居中对齐 符号前的字符表示填充的对象

a = ‘{:>8}‘.format(‘189‘)
print(a)
b = ‘{:0>8}‘.format(‘189‘)
print(b)
c = ‘{:a>8}‘.format(‘189‘)
print(c)

2、精度与类型 常与f搭配使用

a = ‘{:.2f}‘.format(33.333333)
print(a)

3、转换数字进制

a = 17
print(‘{:b}‘.format(a), 二进制‘)
print(‘{:x}‘.format(a), 十六进制‘)
print(‘{:d}‘.format(a), 十进制‘)
print(‘{:o}‘.format(a), 八进制‘)

4、千位分隔符

a = 1234567890

print(‘{:,}‘.format(a))

以上是关于关于字符串的格式化----format与%的主要内容,如果未能解决你的问题,请参考以下文章

关于SimpleDateFormat日期格式与字符串时间戳之间的转换

关于SimpleDateFormat日期格式与字符串时间戳之间的转换

关于string.Template的简单介绍

Python格式化字符串%与format的区别

format 填充符号 与 格式化

字符串格式化与.format()