Python 字符串格式化输出

 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。

前言

字符串格式化是编程中一个常见的需求,它可以们将不同类型的数据(如数字、文本、日期等)插入到字符串中,以创建格式良好的输出。在 Python 中,有多种方法可以执行字符串格式化,包括 % 操作符格式化、 str.format() 方法格式化以及更现代的 f-字符串格式化。本文将介绍这些方法,详细讨论它们的用法,并提供丰富的示例代码。


目录

​编辑

前言

%操作符格式化

 1. 基本示例

 2. 占位符类型

 3. 格式化选项

 4. 字典格式化

str.format() 方法格式化

 1. 基本示例

 2. 位置参数

 3. 关键字参数

 4. 占位符类型和格式化选项

 5. 字典格式化

 6. 高级功能

f-字符串格式化

 1. 基本示例

 2. 表达式计算

 3. 格式化选项

总结


%操作符格式化

% 操作符格式化是 Python 中最早引入的字符串格式化方法之一。它的基本语法是将 % 操作符用于字符串,后跟一个元组或字典,用于指定要插入的值。具体来说,格式化字符串中的 % 占位符将被元组或字典中的值替换。

 1. 基本示例

name = "Alice"
age = 30# 使用 % 操作符格式化字符串
formatted_str = "My name is %s and I am %d years old." % (name, age)
print(formatted_str)

输出:

My name is Alice and I am 30 years old.

在上述示例中, %s 和 %d 是占位符,分别表示字符串和整数的占位符。 % 后的括号中包含了要插入到字符串中的值,按顺序与占位符匹配。

 2. 占位符类型

旧式的 % 操作符格式化支持多种占位符类型,常见的包括:

  • %s :字符串
  • %d :有符号十进制整数
  • %f :浮点数
  • %x :十六进制整数
  • %o :八进制整数
  • %c :字符

 3. 格式化选项

可以通过在占位符后添加格式化选项来控制输出的格式。例如,可以指定浮点数的小数位数、宽度等。

pi = 3.141592653589793# 控制浮点数的小数位数和宽度
formatted_pi = "Pi is approximately %.2f" % pi
print(formatted_pi)

输出:

Pi is approximately 3.14

 4. 字典格式化

除了元组外,还可以使用字典进行格式化,其中占位符的名称与字典中的键匹配。

person = {"name": "Bob", "age": 25}# 使用字典进行格式化
formatted_str = "My name is %(name)s and I am %(age)d years old." % person
print(formatted_str)

输出:

My name is Bob and I am 25 years old.

str.format() 方法格式化

Python 2.7 引入了 str.format() 方法,它提供了更灵活和强大的字符串格式化功能。使用该方法,可以通过在字符串中使用 {} 占位符,并在 format() 方法中传递相应的值来格式化字符串。

 1. 基本示例

name = "Alice"
age = 30# 使用 str.format() 方法格式化字符串
formatted_str = "My name is {} and I am {} years old.".format(name, age)
print(formatted_str)

输出:

My name is Alice and I am 30 years old.

{} 占位符用于指定插入值的位置,通过调用 format() 方法并传递相应的值来填充这些占位符。

 2. 位置参数

可以在 {} 占位符中使用位置参数来明确指定要插入的值的位置。位置参数是 {} 中的索引,从 0 开始。

formatted_str = "My name is {0} and I am {1} years old.".format(name, age)

 3. 关键字参数

也可以使用关键字参数来指定要插入的值,这样可以更清晰地指定占位符的含义。

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

 4. 占位符类型和格式化选项

str.format() 方法支持多种占位符类型,并且可以使用格式化选项来控制输出的格式。

pi = 3.141592653589793# 控制浮点数的小数位数和宽度
formatted_pi = "Pi is approximately {:.2f}".format(pi)
print(formatted_pi)

输出:

Pi is approximately 3.14

 5. 字典格式化

与旧式的 % 操作符格式化一样, str.format() 方法也支持使用字典进行格式化。

person = {"name": "Bob", "age": 25}# 使用字典进行格式化
formatted_str = "My name is {name} and I am {age} years old.".format(**person)

 6. 高级功能

str.format() 方法还支持一些高级功能,如格式化表达式、选择格式化方式等。

value = 42# 格式化表达式
formatted_str = "The answer is {:04X}".format(value)
print(formatted_str)

输出:

The answer is 002A

f-字符串格式化

Python 3.6 引入了 f-字符串(f-strings),它是一种在字符串中嵌入表达式的格式化方式,非常简洁和直观。使用 f-字符串,可以在字符串前添加 f 或 F ,然后在字符串中使用 {} 占位符来插入表达式的值。

 1. 基本示例

name = "Alice"
age = 30# 使用 f-字符串格式化字符串
formatted_str = f"My name is {name} and I am {age} years old."
print(formatted_str)

输出:

My name is Alice and I am 30 years old.

f-字符串直接嵌入了变量和表达式,使代码更加清晰和易读。

 2. 表达式计算

f-字符串支持在 {} 中嵌入任何有效的 Python 表达式,这使得进行一些计算和操作非常方便。

x = 5
y = 3# 使用 f-字符串计算表达式
result = f"{x} + {y} = {x + y}"
print(result)

输出:

5 + 3 = 8

 3. 格式化选项

与 str.format() 方法一样,f-字符串也支持格式化选项,用于控制输出的格式。

pi = 3.141592653589793# 控制浮点数的小数位数和宽度
formatted_pi = f"Pi is approximately {pi:.2f}"
print(formatted_pi)

输出:

Pi is approximately 3.14

总结

本文介绍了 Python 中字符串格式化的三种常见方法:旧式的 % 操作符格式化、 str.format() 方法格式化以及 f-字符串格式化。每种方法都具有其优势和适用场景,可以根据需求选择合适的方法。选择合适的字符串格式化方法可以使代码更易读、更具可维护性,并提高开发效率。根据项目需求和个人偏好,选择适当的方法来满足格式化需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/684869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM-JVM中对象的生命周期

申明:文章内容是本人学习极客时间课程所写,文字和图片基本来源于课程资料,在某些地方会插入一点自己的理解,未用于商业用途,侵删。 原资料地址:课程资料 对象的创建 常量池检查:检查new指令是否能在常量池…

openEuler 22.03 LTS 上源码安装 PostgreSQL 15

安装PostgreSQL 15 1 安装必要的依赖 #yum install -y readline-devel zlib-devel gcc2、下载源码 # wget https://ftp.postgresql.org/pub/source/v15.6/postgresql-15.6.tar.gz # tar -xzvf postgresql-15.6.tar.gz3 配置 # cd postgresql-15.6/ # ./configure4 编译安装…

Matlab|基于支持向量机的电力短期负荷预测【三种方法】

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序主要是对电力短期负荷进行预测,采用三种方法,分别是最小二乘支持向量机(LSSVM)、标准粒子群算法支持向量机和改进粒子群算法支持向量机三种方法对负荷进行…

讲解用Python处理Excel表格

我们今天来一起探索一下用Python怎么操作Excel文件。与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd、xlwt、xlutils、openpyxl、xlsxwriter几种,其中我最喜欢用的是openpyxl,这…

【计算机网络】物理层|传输介质|物理层设备|宽带接入技术

目录 一、思维导图 二、传输介质 1.传输介质——导引型 2.传输介质——非导引型​编辑 三、物理层设备 1.物理层设备:中继器&集线器 2.宽带接入技术(有线) ​编辑 四、趁热打铁☞习题训练 五、物理层总思维导图 推荐 前些天发现…

【C++】友元、内部类和匿名对象

💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 1. 友元 1.1 友元函数 1.2 友元类 2. 内部类 2.1 成员内部类 2.2 局部内部类 3. 匿名对象 3.1 基本概念 3.1 隐式转换 1…

在已有代码基础上创建Git仓库

在已有代码基础上创建Git仓库 背景方法处理问题 背景 先进行了代码编写,后续想放入仓库方便大家一起合作开发,此时需要在已有代码的基础上建立仓库。 方法 首先在Gitee或者GitHub上创建仓库,这里以Gitee为例。创建完后,我们可以…

各类有关于花卉的深度学习数据集

花卉的识别和分类在深度学习过程中是最常见的使用的案例,因此各类有关花卉分类、识别、计数的图像数据集是大家都常用的数据集。最近收集到各类有关花卉的各类数据集分享给大家!! 1、16种花常见的图像数据集 数据说明:我们看到我…

Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

【实战】一、Jest 前端自动化测试框架基础入门(二) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(二)

文章目录 一、Jest 前端自动化测试框架基础入门5.Jest 中的匹配器toBe 匹配器toEqual匹配器toBeNull匹配器toBeUndefined匹配器和toBeDefined匹配器toBeTruthy匹配器toBeFalsy匹配器数字相关的匹配器字符串相关的匹配器数组相关的匹配器异常情况的匹配器 6.Jest 命令行工具的使…

DSA 经典数据结构与算法 学习心得和知识总结(三) |有向无环图及其应用

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《算法导论》第三版 就是这本被封神的杰作,就是它🤦 2、参考书籍:《数据结构》严奶奶版 3、参考书…

DataX源码分析-插件机制

系列文章目录 一、DataX详解和架构介绍 二、DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 八、DataX源码分析-插件机制 文章目录 系列文章…

基于GPT一键完成数据分析全流程的AI Agent: Streamline Analyst

大型语言模型(LLM)的兴起不仅为获取知识和解决问题开辟了新的可能性,而且催生了一些新型智能系统,例如旨在辅助用户完成特定任务的AI Copilot以及旨在自动化和自主执行复杂任务的AI Agent,使得编程、创作等任务变得高效…

Prompt Tuning:深度解读一种新的微调范式

阅读该博客,您将系统地掌握如下知识点: 什么是预训练语言模型? 什么是prompt?为什么要引入prompt?相比传统fine-tuning有什么优势? 自20年底开始,prompt的发展历程,哪些经典的代表…

CV | Segment Anything论文详解及代码实现

本文主要是详解解释了SAM的论文部分以及代码实现~ 论文:2023.04.05_Segment Anything 论文地址:2304.02643.pdf (arxiv.org) 代码地址:facebookresearch/segment-anything: The repository provides code for running inference with the Seg…

随机过程及应用学习笔记(四) 马尔可夫过程

马尔可夫过程是理论上和实际应用中都十分重要的一类随机过程。 目录 前言 一、马尔可夫过程的概念 二、离散参数马氏链 1 定义 2 齐次马尔可夫链 3 齐次马尔可夫链的性质 三、齐次马尔可夫链状态的分类 四、有限马尔可夫链 五、状态的周期性 六、极限定理 七、生灭过…

接口测试方法论

第1章 测试那点事 单元测试》接口测试》界面测试 接口就是包含特定输入和特定输出的一套逻辑处理单元,用户无须知晓接口的内部实现逻辑,这也可以称为接口的黑河处理逻辑。因为服务对象不同,接口又可分为两种:一种是系统或服务的…

K8S集群实践之十:虚拟机部署阶段性总结

目录 1. 说明: 2. 安装准备 2.1 每个节点设置双网卡,一卡做网桥(外部访问),一卡做NAT(集群内网访问) 2.2 准备一个可用的代理服务器 3. 由于虚拟机崩溃(停电,宿主机…

VBA技术资料MF119:数据验证的添加与删除

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…