迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python Sprintf:Python 中的格式化字符串

作者:迹忆客 最近更新:2023/04/24 浏览次数:

没有确切的 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) 安装所需的依赖项。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

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 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便