欢迎访问宙启技术站
智能推送

format函数用法详解

发布时间:2023-05-23 14:15:47

Python中的format方法是一种重要的字符串格式化方法,是一种对字符串进行格式化的简单技巧,是Python的一种内置方法,在Python 3以后,已经没有字符串格式化符号(%)了,如今只能使用format函数进行字符串格式化输出。本文将详细介绍format函数的用法。

format函数语法:

format()方法有两种语法,一种是使用位置参数,一种是使用关键字参数,其语法如下:

1. 使用位置参数的语法:

str.format(param1, param2, ...)

2. 使用关键字参数的语法:

str.format(par1=value, par2=value2, ...)

前面的str表示需要被格式化的字符串,param1,param2都是需要被格式化的值。

format函数支持各种类型的数据进行格式化,如字符串、整数、浮点数、变量等。下面我们将详细介绍format函数的各种用法。

1. 使用位置参数

format函数的最基本用法是使用位置参数,它是根据参数在format函数中的位置来确定参数被替换的位置。示例如下:

'{} {}'.format('hello', 'world')

输出:'hello world'

'{} {}'.format(1, 2)

输出:'1 2'

'{}{}'.format('hello', 123)

输出:'hello123'

2. 使用关键字参数

使用关键字参数时,参数替换时将依据参数名来确定替换的位置。这样使得格式化字符串的代码更加易于阅读和维护。示例如下:

'{a} {b}'.format(a='hello', b='world')

输出:'hello world'

'{a} {b}'.format(b='world', a='hello')

输出:'hello world'

3. 格式化字符串

format函数不仅可以替换字符串中的参数,还可以将参数进行格式化。示例如下:

'{:.2f}'.format(3.1415926)

输出:'3.14'

'{:b}'.format(15)

输出:'1111'

'{:d}'.format(15)

输出:'15'

'{:o}'.format(15)

输出:'17'

'{:x}'.format(10)

输出:'a'

4. 参数序号

在format函数中,参数可以通过对应的位置或者参数名进行替换。在格式化字符串时,可以通过参数序号来指定替换的参数。示例如下:

'{1} {0} {0}'.format('hello', 'world')

输出:'world hello hello'

'{0} {1} {2}'.format('hello', 'world', 'python')

输出:'hello world python'

5. 格式化字符串的对其方式

通过格式化字符串的对齐方式来实现美观的显示效果,可以通过在格式规格中使用“<”、“>”、“^”字符来指定格式化字符串的对其方式。示例如下:

'{:<10}'.format('left align')

输出:'left align'

'{:>10}'.format('right align')

输出:' right align'

'{:^10}'.format('center align')

输出:' center align'

6. 设置格式化字符串的宽度和精度

在使用format函数时,可以设置字符串的宽度和精度。其中,宽度可以通过在格式规格中设置一个整数来实现,精度可以通过在格式规格中设置一个小数点后面的数字来控制。示例如下:

'{:.2f}'.format(3.1415926)

输出:'3.14'

'{:6.2f}'.format(3.1415926)

输出:'  3.14'

'{:04d}'.format(9)

输出:'0009'

'{:06d}'.format(99)

输出:'000099'

7. 使用元组和字典

在使用format函数时,还可以使用元组和字典来进行参数替换。其中,元组用来对应位置参数,字典用来对应关键字参数。示例如下:

#使用元组

'{0} {1} {2}'.format(*('hello','world', 'python'))

输出:'hello world python'

#使用字典

'{a} {b}'.format(**{'a':'hello', 'b':'world'})

输出:'hello world'

8. 将format函数应用于类

Python的类可以使用format函数进行格式化输出。示例如下:

class Car:

    def __init__(self, brand, year, price):

        self.brand = brand

        self.year = year

        self.price = price

    def __str__(self):

        return "{0.brand}, {0.year}, {0.price}".format(self)

car = Car("Benz", 2018, 120000)

print(car)

输出:Benz, 2018, 120000

以上就是format函数的用法详解,它是Python内置的字符串格式化的主要手段之一。format函数灵活性高,帮助开发者更好地掌握字符串格式化技巧。