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

使用Python函数进行字符串格式化

发布时间:2023-06-07 13:53:05

在Python中,字符串格式化是将值插入字符串中的一种方式。字符串格式化可以让我们更加规范化地输出数据,使得代码更加科学、更加清晰。像 Python 这样的高级语言,内置了许多有用的格式化输出函数,这些函数可以让我们在不同场景中更加方便地输出数据、检查程序的运行状态等。

Python 的字符串格式化常用的有几种方式:

- %-格式化:这种方式通过格式化类型符号对应数据类型实现格式化。

- str.format():这种方式利用 "{}" 占位符进行字符串格式化。

- f-string:这种方式是在 Python 3.6 中引入的最简单的字符串格式化方式。

我们接下来会分别介绍这三种方式。

一、%格式化

%格式化,也称为旧式字符串格式化,是 Python 最早提供的字符串格式化方法。它的使用方式:以 % 符号为分界符,将字符串分成两部分,前面一部分是原始字符串,后面一部分是格式化字符串,格式化字符串以一个 % 符号和类型字符组成。这种方式非常方便,但是难度也较大。

name = 'Peter'
age = 36
print("My name is %s and I am %d years old." % (name, age))

输出结果:

My name is Peter and I am 36 years old.

上面的例子中,%s 和 %d 代表不同类型的数据,%s 代表字符串类型,%d 代表整数类型。

常用的字符串标识符:

- %s:格式化为字符串;

- %c:格式化为字符;

- %d:格式化为有符号十进制数;

- %u:格式化为无符号十进制数;

- %o:格式化为八进制数;

- %x:格式化为十六进制数;

- %e:用科学计数法格式化浮点数(小写e);

- %E:用科学计数法格式化浮点数(大写E);

- %f/%F:格式化为浮点数;

- %g/%G:根据值自动选择%f或%e。

二、str.format()格式化

str.format() 是另一种字符串格式化的方法,使用起来比 % 格式化简单方便。它的使用方式是:将要进行格式化的内容放在 {} 中,并用冒号分隔。它可以接受字典、元组和列表三种不同数据类型作为参数。下面是一个使用 str.format() 进行格式化的例子:

print("My name is {} and I am {} years old.".format(name, age))

输出结果:

My name is Peter and I am 36 years old.

在 str.format() 中,{} 是占位符,后面的值就是要填充的值。可以通过位置、关键字、数字位置等方式传递参数来指定占位符的值:

print("{0} is my name and I am {1} years old.".format(name, age))
print("{name_var} is my name and I am {age_var} years old.".format(name_var=name, age_var=age))

输出结果:

Peter is my name and I am 36 years old.
Peter is my name and I am 36 years old.

三、f-string格式化

Python 3.6 引入了一种新的字符串格式化方式:f-string。使用它可以使格式化字符串的编写变得更加简单。它的语法是在字符串前加上 f,然后在字符串中使用 {} 占位符来插入变量,语法类似于 str.format():

print(f"My name is {name} and I am {age} years old.")

输出结果:

My name is Peter and I am 36 years old.

使用 f-string 有几个优点:

1. 简单易读:语法更加简单,可读性强。

2. 方便快捷:可以打破字符串拼接的局限,更加方便快捷。

3. 标准化:语法统一,更加标准化。

总结

字符串格式化是编程常用的操作之一,在Python中常用三种方式进行字符串格式化:%格式化、format()方法和f-string方式。不同的方式各有各的特点,我们可以根据实际需求进行选择。无论采用哪种方式,保持代码规范、简洁、易读都是重要的原则。