Python Sprintf:Python 中的格式化字符串
没有确切的 sprintf
内置函数来打印格式化字符串,但由于 Python,存在许多方法来打印格式化字符串。
在本文中,我们将介绍 Python 中四个类似 sprintf 的功能,包括 % 运算符、format()、f-string 和用户定义的 sprintf 函数,让我们深入研究一下。
Python 中的格式化字符串
字符串格式化也称为字符串插值,我们可以在预定义文本中插入自定义值、字符串或变量。
它是打印字符串(包括一些值或结果)的首选且可读的方法之一,它为我们提供了 Python 中类似 sprintf 的功能。
我们还可以在格式化字符串中使用数学表达式。 例如,假设我们有两个值并希望将它们相加以打印最终结果。
代码示例:
x = 3
y = 4
print(f"The sum of {x} and {y} = {x+y}") # formatted string
print("The sum of",x,"and",y, "=", (x+y)) # normal string
输出:
The sum of 3 and 4 = 7
The sum of 3 and 4 = 7
正如我们所看到的,上面的结果是一样的,但是普通的字符串非常垃圾; 但是,格式化字符串的可读性更高,开发人员可以很容易地使用格式化字符串编写代码。
Python中格式化字符串的不同方法
Pythons 是一种通用编程语言,拥有多元化的开源社区和持续支持,可为开发人员提供解决方案和功能,以根据工作性质和特定场景以多种方式完成任何任务。
与使用格式化字符串类似,我们可以使用不同的方法来打印格式化字符串,我们将在本文中一一讨论。
使用 % 运算符格式化字符串
它是 Python 和其他编程语言中格式化字符串的旧技术之一。 在 Python 中,字符串具有使用 % 运算符访问的内置操作,使我们能够轻松地进行字符串格式化,类似于 C 和 C++ 中的 springf。
代码示例:
name = "Zeeshan Afridi"
msg = "Hey! developers, it's %s." %name
print(msg)
输出:
Hey! developers, it's Zeeshan Afridi.
在上面的代码中,%s
警告编译器我在末尾期待一个字符串,正如所演示的那样,我们已经将带有 %
运算符的字符串指定为 %name
。
字符串格式化中不同的数据类型有不同的格式说明符。
格式说明符 | 数据类型 | 输出 |
---|---|---|
%c | char | 它显示一个Unicode字符 |
%d | integer | 整数 |
%f | Floating point | 十进制数 |
%o | integer (octal) | 八进制数 |
%s | String | 它给出了一个字符串 |
%t | Date and Time | 数据和时间 |
在 Python 中使用 format() 函数格式化字符串
format()
是 Python 中格式化字符串的一种新方法,它是在 Python 3 中引入的。
这是一种格式化字符串的新样式,我们不需要记住格式说明符及其在字符串中的顺序; 相反,我们可以在字符串末尾使用 format()
并在指定位置提供参数。
代码示例:
program = "BSSE"
cgpa = 3.2
student = 'Hi! I am a student of {}, and my CGPA is {}'.format(program, cgpa)
print(student)
输出:
Hi! I am a student of BSSE, and my CGPA is 3.2
在上面的程序中,我们用大括号 {}
指定了要插入值的位置,在字符串 student 的末尾,我们使用了 .format()
函数并相应地给它两个参数。
Python 中的格式化字符串文字 f-string
格式化字符串文字也称为 f-string,它作为一种新的字符串格式化方法包含在 Python 3.6 中,其语法更具可读性和直接性。
f-string 有一个其他方法所没有的优秀和独特的特性,我们可以在字符串内部定义表达式和值。
不需要在字符串末尾使用 .format() 。 下面让我们看一个 Python 中的 f-String 示例。
代码示例:
my_fav_lang = "Python"
experience = 2
zeeshan = f'I love to code in {my_fav_lang}, and I have {experience} year experience in Python programming.'
print(zeeshan)
输出:
I love to code in Python, and I have 2 years of experience in Python programming.
f-string 超级简单易读。 与其他两种方法不同,我们不需要使用任何其他方法或逗号,只需使用 f 作为字符串的前缀,我们就可以开始了。
如何在 Python 中使用 sprintf
sprintf 代表字符串打印; 基本上,它是 C 和 C++ 编程语言中的一个内置函数,用于打印格式化字符串,并将输出存储在 sprintf() 指定的字符缓冲区中。 在 Python 中有不同但相似的方式。
sprintf 不是 Python 中的用户定义函数,但我们可以使用 StringIO 实例作为缓冲区。 与 sprintf 不同的是,我们必须将字符串传递给 buf.write 和格式化方法。 在这种情况下,% 用于字符串格式化。
代码示例:
import io
from io import StringIO
def sprintf(buf, fmt, *args):
buf.write(fmt %args)
age = 24
fav_color = "Blue"
buf = io.StringIO()
sprintf(buf, "I'm %d years old, and my favourite colour is %s!", age, fav_color)
print(buf.getvalue())
输出:
I'm 24 years old, and my favourite colour is Blue!
如果您收到此程序的任何 ImportError
,请从命令行界面 (CLI) 安装所需的依赖项。
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
Django 返回 JSON
发布时间:2023/05/04 浏览次数:106 分类:Python
-
在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。
在 Django 中创建对象
发布时间:2023/05/04 浏览次数:59 分类:Python
-
本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。
在 Django 中为多项选择创建字段
发布时间:2023/05/04 浏览次数:75 分类:Python
-
在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。