python学习——格式化字符串

在Python中,格式化字符串是一种将变量插入到字符串中的方法,使得字符串的构建更为灵活和方便。以下是一些常见的格式化字符串的方法:
在这里插入图片描述

文章目录

      • 1. 使用百分号 `%` 格式化
      • 2. 使用 `str.format()` 方法
      • 3. 使用 f-string (格式化字符串字面量)
      • 格式说明符
      • 实操
      • 字符串format方法格式控制
      • 实操

1. 使用百分号 % 格式化

这是最传统的方法,类似于C语言中的printf。

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

这里的 %s 是一个占位符,用于插入字符串,而 %d 用于插入整数。

2. 使用 str.format() 方法

Python 2.6+ 引入了 str.format() 方法,它提供了一种更灵活的格式化字符串的方式。

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

你还可以使用索引来指定参数的顺序:

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

或者使用关键字参数:

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

3. 使用 f-string (格式化字符串字面量)

Python 3.6+ 引入了 f-string,它提供了一种更简洁、更直观的方式来格式化字符串。

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

在 f-string 中,你可以直接在 {} 中放入表达式,甚至是函数调用:

print(f"My name is {name.upper()} and next year I will be {age + 1}.")

格式说明符

在以上所有方法中,你都可以使用格式说明符来进一步定义格式化输出的方式:

  • <填充><对齐><宽度><,><.精度><类型>
    例如:
  • {:.2f}:保留两位小数的浮点数
  • {:^20}:居中对齐,宽度为20的字符串
  • {:0>10}:右对齐,宽度为10,左边用0填充的字符串
  • {:,}:数字使用逗号作为千位分隔符
number = 1234567.8910
print(f"The number is {number:.2f}")
print(f"The number is {number:20,.2f}")
print(f"The string is {name:^20}")
print(f"The string is {name:0>10}")

以上就是Python中格式化字符串的几种方法,每种方法都有其适用的场景,你可以根据需要选择最适合的一种。在最新的Python代码中,f-string由于其简洁和直观性,通常是首选的格式化方法。

实操

# (1)使用占位符进行格式化
name = '马冬梅'
age = 18
score = 98.5
print('姓名:%s,%d年龄:,成绩:%.1f' % (name, age, score))# (2)f-string
print(f'姓名:{name},年龄:{age},成绩:{score}')# (3)使用字符串的format方法
print('姓名:{0},年龄:{1},成绩:{2}'.format(name, age, score))
print('姓名:{2},年龄:{0},成绩:{1}'.format(age, score,name))

字符串format方法格式控制

在这里插入图片描述

实操

s = 'helloworld'
print('{0:*<20}'.format(s))  # 字符串的显示宽度为20,左对齐,空白不凡使用*号填充
print('{0:*>20}'.format(s))  # 字符串的显示宽度为20,右对齐,空白不凡使用*号填充
print('{0:*^20}'.format(s))  # 字符串的显示宽度为20,居中对齐,空白不凡使用*号填充# 法2的居中对齐
print(s.center(20, '*'))# 千位分隔符(仅适用于整数和浮点数)
print('{0:,}'.format(987654321))
print('{0:,}'.format(987654321.98765))# 浮点数小数部分的精度
print('{0:.2f}'.format(3.1415926535))
# 如果是字符串类型则是最大的显示长度
print('{0:.5}'.format(s))# 整数类型,进制转换
a = 425
print('二进制:{0:b},十进制:{0:d},八进制:{0:o},十六进制:{0:x}'.format(a))# 浮点类型
b = 3.1415926535
print('{0:.2f},{0:.2E},{0:.2e},{0:.2%}'.format(b))

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

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

相关文章

Flink日志配置

所有Flink进程都会创建一个日志文本文件,其中包含进程中发生的各种事件的消息。这些日志可以深入了解Flink的内部工作原理,还可以用来检测问题(以警告/错误信息的形式),并帮助调试。 可以通过web界面的JobManager/TaskManager页面访问日志文件。使用的资源提供者(例如YA…

LLM学习笔记(15)LangChain、LlamaIndex、LlamaIndex

Transformer 和 PyTorch 是什么关系&#xff1f; Transformer和PyTorch可以很好地配合使用&#xff0c;但它们并不是同一层面的工具。具体来说&#xff1a; Transformer是一个神经网络的架构&#xff0c;最初用于自然语言处理&#xff0c;但也可以扩展到其他任务&#xff08;…

记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009

项目是个老项目&#xff0c;依赖包也比较大&#xff0c;咱就按正常流程走一遍来详细解决这个问题&#xff0c;先看一下node版本&#xff0c;我用的是nvm管理的&#xff0c;详细可以看我的其他文章 友情提醒&#xff1a;如果项目比较老&#xff0c;包又大&#xff0c;又有一些需…

【Linux】gdb / cgdb 调试 + 进度条

&#x1f33b;个人主页&#xff1a;路飞雪吖~ &#x1f320;专栏&#xff1a;Linux 目录 一、Linux调试器-gdb &#x1f31f;开始使用 &#x1f320;小贴士&#xff1a; &#x1f31f;gdb指令 &#x1f320;小贴士&#xff1a; ✨watch 监视 ✨打条件断点 二、小程序----进…

【人工智能】大数据平台技术及应用

文章目录 前言一、大数据平台基本概念及发展趋势1、数据量爆发式增长&#xff0c;发数据蓬勃发展2、大数据到底是什么&#xff1f;3、大数据处理与传统数据处理的差异4、为什么要建立大数据平台&#xff1f;5、大数据平台开源架构-Hadoop6、华为云大数据平台架构 二、大数据技术…

ABAP - 系统集成之SAP的数据同步到OA(泛微E9)服务器数据库

需求背景 项目经理说每次OA下单都需要调用一次SAP的接口获取数据&#xff0c;导致效率太慢了&#xff0c;能否把SAP的数据保存到OA的数据库表里&#xff0c;这样OA可以直接从数据库表里获取数据效率快很多。思来想去&#xff0c;提供了两个方案。 在集群SAP节点下增加一个SQL S…

PHP语法学习(第三天)

老规矩&#xff0c;先回顾一下昨天学习的内容 PHP语法学习(第二天) 主要学习了PHP变量、变量的作用域、以及参数作用域。 今天由Tom来打开新的篇章 文章目录 echo 和 print 区别PHP echo 语句实例 PHP print 语句实例 PHP 数组创建数组利用array() 函数 数组的类型索引数组关联…

映射vim键位,基本功能键位表(未更完)

键位映射&#xff1a;建议使用jj代替esc,毕竟esc离手那么远 linux下修改方法是&#xff1a;vim /etc/vim/vimrc 在该文件尾添加inoremap jj <Esc>该方法可以同样可以用到其他键位映射上 i&#xff1a;表示这个映射是在插入模式&#xff08;insert mode&#xff09;下有效…

vue3+ts+vite+ElementPlus上传进度条实时更新(UPLoad和progress)。

需求&#xff1a; 上传文件时&#xff0c;展示进度条实时更新&#xff1a; 下面是代码片段: <!-- 添加媒体弹窗 -- 上传 --><el-dialog v-model"centerDialogVisible" title"媒体信息" width"700" :close-on-click-modal"false&qu…

MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序

MSSQL2022导入Excel的一个错误&#xff1a;未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序 一、导入情况二、问题发现三、问题解决 最近在安装新版SQLServer SSMS 2022后&#xff0c;每次导入Excel都会出现错误提示&#xff1a;未在本地计算机上注册“Microsoft.AC…

优傲协作机器人 Remote TCP Toolpath URCap(操作记录)

目录 一、新机设置项 1、设置管理员密码 2、设置安全密码 3、设置负载 二、激活 Remote TCP & Toolpath URCap 1、插入U盘 2、打开激活面板 3、导入许可证 4、查看是否激活成功 5、启用功能 三、使用流程&#xff08;官方&#xff09; 步骤一 步骤二 步骤三 …

【日常记录-Java】查看Maven本地仓库的位置

1. 简介 Maven本地仓库主要用于存储和管理项目所需的依赖项&#xff0c;如jar包、pom文件等。默认情况下&#xff0c;其位于用户家目录下的.m2/repository文件夹内。开发者也可以在Maven的配置文件settings.xml中修改本地仓库路径。 2. 方法 2.1 查看settings.xml文件 Maven本…

kafka 配置消息编码格式、解决消费者中文乱码

序列化 kafka 发送消息需要把key 和value 进行序列化处理 一般配置字符串方式&#xff0c;如果消息量大需要优化成其他方式。 代码配置 props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("val…

Apache Commons Chain 与 Spring Boot 整合:构建用户注册处理链

文章目录 概述1. 环境准备2. 创建自定义上下文3. 创建命令验证用户输入保存用户数据发送欢迎邮件 4. 构建并执行处理链5. 使用处理链6. 运行结果7. 总结 概述 本文档旨在展示如何在 Spring Boot 应用中使用 Apache Commons Chain 来实现一个用户注册的处理链。我们将通过 Chai…

电子商务人工智能指南 2/6 - 需求预测和库存管理

介绍 81% 的零售业高管表示&#xff0c; AI 至少在其组织中发挥了中等至完全的作用。然而&#xff0c;78% 的受访零售业高管表示&#xff0c;很难跟上不断发展的 AI 格局。 近年来&#xff0c;电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

OpenAI 推出了 Canvas 和 SearchGPT

今天的故事从 ChatGPT 推出的 Canvas 和 SearchGPT 开始。 ©作者|Ninja Geek 来源|神州问学 ChatGPT 在最近推出了令人兴奋的 Canvas 功能&#xff0c;Canvas 不仅带来了 ChatGPT 界面上的变化&#xff0c;还完全改变了人们撰写文档和书写代码的体验&#xff01; Canvas…

VMware虚拟机与国产操作系统安装及学习

今日任务&#xff1a; 虚拟化技术----操作系统的应用 非常重要的技术-----云计算技术的兴起-----云技术的核心就是虚拟化 传统计算-----&#xff08;《世纪之战》主演&#xff1a;刘青云 《暗算》主演&#xff1a;柳云龙 《功勋》 从算盘的演变到计算器----计算机----&#xff…

C# 中LINQ的详细介绍

文章目录 前言一、 LINQ 的基本概念二、查询语法与方法语法三、LINQ 的投影操作四、LINQ 的排序操作五、LINQ 的过滤操作六、LINQ 的分组操作七、LINQ 的连接操作八、LINQ 的聚合操作九、LINQ 的延迟执行十、LINQ 的错误处理十一、LINQ 的合并操作十二、LINQ 的自定义对象查询十…

Observability:用 OpenTelemetry 自动检测 Python 应用程序

作者&#xff1a;来自 Elastic Bahubali Shetti 了解如何使用 OpenTelemetry 自动检测 Python 应用程序。使用 Docker 文件中的标准命令&#xff0c;可以快速检测应用程序&#xff0c;而无需在多个位置编写代码&#xff0c;从而实现快速更改、扩展和更轻松的管理。 更多阅读&a…

利用tablesaw库简化表格数据分析

tableaw是处理表格数据的优秀工具。它提供了一组强大而灵活的功能&#xff0c;使操作、分析和可视化数据表变得容易。在这篇博文中&#xff0c;我们将介绍tableaw的主要特性、如何使用这些特性&#xff0c;以及如何使用tableaw处理表格数据的一些示例。 tablesaw简介 tableaw…