新手必看:Python中的字符串格式化入门指南

在Python中,格式化字符串输出是一项非常常见的任务,用于将变量、表达式和文本组合成一个可读性强的字符串。Python提供了多种方式来实现字符串格式化,每种方式都有其独特的优势和用法。本篇文章将详细介绍Python中格式化字符串输出的几种方式,包括:

  1. 百分号格式化:这是Python中最古老的字符串格式化方式之一,它使用百分号(%)作为占位符,允许你插入变量或表达式。这种方式已经存在很长时间,但在Python 3.x 中不再被推荐使用。

  2. str.format()方法:这是一种更现代的字符串格式化方式,它使用大括号 {} 作为占位符,并支持更多的格式化选项,如对齐、精度和类型转换。

  3. f-字符串:这是Python 3.6及更高版本引入的一种新的字符串格式化方式,它使用前缀 f,允许在大括号 {} 内插入变量或表达式,非常直观和简洁。

  4. 字符串模板(string.Template:字符串模板使用 $ 作为占位符,通过 substitute() 方法来替换占位符,适用于一些特定的场景。

  5. join()方法join()方法是一种将多个字符串连接成一个字符串的方式,通常用于将列表中的字符串元素合并。

1. 百分号格式化

百分号格式化是Python中最古老的字符串格式化方式之一。它使用百分号(%)作为占位符,通过格式说明符来插入变量或表达式。

以下是一些示例:

name = "Alice"
age = 30
print("My name is %s and I am %d years old." % (name, age))

百分号格式化的格式说明符指定了要插入的变量类型和格式。以下是一些常用的格式说明符:

  • %s:字符串
  • %d:整数
  • %f:浮点数

示例代码

# 使用百分号格式化
quantity = 3
price = 9.99
total = quantity * price
print("You ordered %d items for a total of $%.2f." % (quantity, total))

虽然百分号格式化在一些旧代码中仍然很常见,但在处理复杂的格式化需求时可能显得不够灵活。

2. 使用str.format()方法

str.format()方法是一种更现代和强大的字符串格式化方式。它使用大括号 {} 作为占位符,并允许在大括号内添加格式说明符。

以下是示例:

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

str.format()方法支持更多的格式化选项,如对齐、精度和类型转换。

示例代码

# 使用str.format()
name = "John"
greeting = "Hello, {}!"
formatted_greeting = greeting.format(name)
print(formatted_greeting)# 格式说明符
radius = 5
area = 3.14159 * radius ** 2
print("The area of a circle with radius {} is {:.2f} square units.".format(radius, area))

str.format()方法提供了更多控制格式化输出的选项,使其更灵活。

3. 使用f-字符串

f-字符串是Python 3.6及更高版本引入的一种新的字符串格式化方式。它非常直观和简洁。

示例如下:

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

f-字符串在字符串前加上 f 前缀,然后使用大括号 {} 插入变量或表达式。这种方式使代码更易读和维护。

示例代码

# 使用f-字符串
radius = 5
area = 3.14159 * radius ** 2
print(f"The area of a circle with radius {radius} is {area:.2f} square units.")

f-字符串是一种非常方便的方式,尤其在需要在字符串中嵌入变量时。

4. 使用字符串模板(string.Template

Python的string.Template类提供了另一种格式化字符串的方式,使用 $ 作为占位符。

以下是示例:

from string import Templatename = "David"
age = 40
template = Template("My name is $name and I am $age years old.")
message = template.substitute(name=name, age=age)
print(message)

字符串模板使用 $ 符号作为占位符,然后使用 substitute() 方法来替换占位符。

示例代码

# 使用字符串模板
product = "book"
price = 19.99
template = Template("The price of the $product is $$price.")
message = template.substitute(product=product, price=price)
print(message)

字符串模板在一些特殊情况下非常有用,例如需要在模板中转义某些字符。

5. 使用join()方法连接字符串

join()方法允许你将多个字符串连接成一个字符串。

示例如下:

words = ["Hello", "World", "Python"]
sentence = " ".join(words)
print(sentence)

join()方法通常用于将列表中的字符串元素合并为一个字符串,可以指定连接字符串的分隔符。

示例代码

# 使用join()方法
words = ["Python", "is", "fun"]
sentence = " ".join(words)
print(sentence)# 指定分隔符
numbers = ["1", "2", "3", "4", "5"]
csv = ",".join(numbers)
print(csv)

join()方法非常适用于构建包含多个项目的字符串,例如CSV数据。

选择合适的方式

选择哪种字符串格式化方式取决于需求。百分号格式化在一些旧代码中仍然很常见,但str.format()和f-字符串在现代Python中更受欢迎。字符串模板和join()方法则在特定情况下非常有用。根据任务的复杂性、可读性和维护性,选择合适的方式。

总之,Python提供了丰富的字符串格式化选项,可以根据具体情况选择最适合你的方式,使字符串输出更加清晰和优雅。


如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs+vue+微信小程序+python+PHP校园闲置物品拍卖系统-计算机毕业设计推荐

校园闲置物品拍卖系统主要有如下几类用户:第一类是游客(未注册用户),第二类是正式用户(已注册用户),第三类是后台管理员。具有低耦合、高内聚的特点,其中校园用户通过人脸识别的方法…

【Electron】富文本编辑器之文本粘贴

由于这个问题导致,从其他地方复制来的内容 粘贴发送之后都会多一个 换行 在发送的时候如果直接,发送innerHTML 就 可以解决 Electron h5 Andriod 都没问题,但是 公司的 IOS 端 不支持,且不提供支持(做不了。&#xff…

透彻掌握GIT基础使用

网址 https://learngitbranching.js.org/?localezh_CN 清屏 clear重新开始reset

【Java并发编程的艺术学习】第三章摘要补全

第三章整篇依旧围绕写后读这一核心,本文章目的是为更好的了解学习,所以会添加一些必须了解的知识,同样也会对文章重要内容进行摘要。 3.1Java内存模型的基础 1.线程之间如何通信 方式一:使用 volatile 关键字 基于 volatile 关…

表情包搜索网站

一个非常不错的表情包搜索网站,输入关键词即可得到所有相关的表情,还可以选择套图下载,自制表情,非常给力666 可以点击下载,会新建窗口打开图片,鼠标右键“图片另存为”,下载文件名手动补充“…

在Pyqt5的QtWidgets.QGraphicsView上绑定matplotlib.figure实现绘图

matplotlib的基础类figure相当于一个View窗口类(实际上,每一个figure是由更底层canvas来控制的,大概有点类似CAD的layers层的概念),是一个可绘制显示图形的View区域,也称画布(figure&#xff09…

零代码也能玩出花:Mugeda在H5设计中的魔法力量

文章目录 一、Mugeda零代码可视化H5设计工具简介二、Mugeda零代码可视化H5设计实战案例1. 注册并登录Mugeda账号2. 选择模板3. 编辑页面内容4. 添加动画效果5. 预览和发布 三、Mugeda零代码可视化H5设计的优势《Mugeda零代码可视化H5设计实战》内容简介作者简介目录前言/序言 随…

小型内衣洗衣机什么牌子好?口碑好的小型洗衣机

想必大家都知道,我们的内衣裤、袜子这些衣物对卫生方面的要求是比较的高,毕竟是贴身的衣物,因此是要分开清洗的,而不能够跟我们其他的大件衣服一起放入到大型洗衣机里进行混洗,很多就选择了分开单独的手洗,…

萨科微宋仕强论道之华强北国际化(二十二)

华强北以前的客户基本在国内,有一部分外贸生意但是规模不大,华强北要不要国际化?如何国际化?国际化的前景如何呢? 华强北国际化有很多优势。比如目前往墨西哥转的汽车供应链和往越南印度转的手机供应链,与其他制造业的…

Mybatis中的多表查询

多表查询的结构分为: 一对一 一对多(多对一) 多对多 根据不同情况下使用不同的处理方式 一对一 一对一方式一般都是,一个身份证对应一个人,一个商品订单对应一个消费者…… 以商品为例子来经行说明 创建一个用户表和商品表 用户表 商…

Gamma LUT PG285笔记

1 gamma校正应用背景 探测器响应为线性亮度或RGB值,而显示器并非线性,需要算法做校正。 2 reg 可以配置3张LUT表,每张表最大1024个16bit参数。表中0x0800仅是第一张表的起始地址,地址每次加4。 3 数据输入的格式 按照RBG的顺序…

bat命令清理Window应用注册表(Unity开发Window应用)

bat命令清理Window应用注册表(Unity开发Window应用) 介绍出现的问题方案一方案二方案二解决方案1. 首先使用【Win】【R】组合快捷键,快速打开运行命令框,在打开后面键入命令:【Regedit】2. 完后后按回车键(…

作为开发人员掌握 GitHub Copilot:15 个提示和技巧

目录 Copilot 的炫酷用例 为您完成代码 从代码编写测试 TDD:通过测试编写代码 测试/模拟数据生成 从注释中编写代码 问:&答: 颜色生成 使用测量单位 自然语言翻译 自动化脚本 正则表达式 配置 命令行命令 文档和自述文本 if (true) 技巧 …

Android Studio修改创建新布局时默认根布局

将Android Studio默认布局ConstraintLayout切换成LinearLayout 打开设置, Editor> File and Code Templates > Other > layoutResourceFile.xml 备注:创建时提示根布局仍然为ConstraintLayout,不用管这个,实际创建的…

进阶版求字符串长度

大家好呀!!!我是Beilef,一个努力的跨界者,今天带来的每日一题是用简单的函数还有递归求字符串长度。下面开始啦,不对的地方请留言。感谢您的斧正。 文章目录 目录 文章目录 前言 一、题目展示 解题思路&am…

年终回顾与展望:CSDN成就之路,2023年AI浪潮展望及2024 Flag

文章目录 2023年在CSDN获得的肯定1,入围2023博客之星2,《有哪些让你目瞪口呆的Bug?》征文获得TOP33,通过创作者身份认证4,多篇文章被城市开发者社区收录5,多篇文章进入全站综合热榜6,积极参与社…

2023启示录丨自动驾驶这一年

图片|《老人与海》插图 过去的20年,都没有2023年如此动荡。 大模型犹如一颗原子弹投入科技圈,卷起万里尘沙,传统模式瞬间被夷为平地,在耀眼的白光和巨大的轰鸣声之下,大公司、创业者、投资人甚至是每一位观…

Unity Shader 实现X光效果

Unity Shader 实现X光效果 Unity Shader 实现实物遮挡外轮廓发光效果第五人格黎明杀机火炬之光 实现方案操作实现立体感优化总结源码 Unity Shader 实现实物遮挡外轮廓发光效果 之前看过《火炬之光》、《黎明杀机》、《第五人格》等不少的游戏里面人物被建筑物遮挡呈现出不同的…

小型洗衣机怎么用?高质量的小型洗衣机推荐

清洗内衣内裤这些贴身衣物确实是一件比较头疼的事,有的小伙子由于工作的劳累通常在洗完澡后并不喜欢直接清洗内衣内裤,会存上几天再扔到洗衣机里,这样做是很不可取的,因为穿过的内裤很久不洗就会滋生细菌,另外&#xf…

VSCode安装Go环境

VSCode安装Go 1.点击Go官网,根据自己环境下载go安装包,我这里为Windows 2.双击安装包,一直点击【Next】即可 VSCode配置Go基础环境 1.创建Go的工作目录: C:\Code\GoCode 2.创建Go的环境变量: GOPATH (1)右键【此电脑】,点击…