format函数用法详解
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函数灵活性高,帮助开发者更好地掌握字符串格式化技巧。
