当前位置: 首页 > news >正文

Python编程技巧 – format格式化文本

Python编程技巧 – format格式化文本

Python Programming Essentials - Using format() to format texts

By Jackson@ML

本文简要介绍Python语言的format()方法(也即函数)相关实例和技巧,希望对读者有所帮助。

1. format定义和方法

format()方法能够格式化指定的值,并且将它们插入到字符串的占位符中。

1) 示例代码一

了解占位符,让我们先看一个例子。代码如下:

a = 10
print("a =", a)

通常,为了表达一个公式,或者完整的语义字符串,会将双引号放置到format()方法中。

此外,还有一种情况非常常见,就是利用变量时,需要在双引号中添加占位符(一对大括号{ })。例如下面的代码示例:

a = 10
print("a = {}".format(a))

这段代码会得出与前述代码同样的结果:

a = 10

但是,第二段代码明显有着不同的风格,不但更加灵活,也使变量运用游刃有余。由此,占位符{ }在其中起着举足轻重的作用。
这都是因为:format()会返回格式化的字符串。

2) 示例代码一

让我们看另一个例子。假如需要进行数学运算,需要两个值相加,类似得到 2+3=5 的结果,而不仅仅是这两个数相加,那么就需要声明两个变量a和b来完成加法。

a = 2; b= 3
sum = a + b
print("a + b = ", sum)

运行结果如下:

a + b = 5

但若有很多数值相加或者相乘、相除等,这个打印结果就不会很好看,对变量使用也显得刻板无味。

如果我们使用format()方法来格式化文本,会得到更好的结果:

a = 2; b= 3
print("a + b = {}".format(a + b))

代码简化后,结构清晰,格式占位符{ } 对应a + b的结果。仍然输出同样结果:

a + b = 5

2. 全局函数format

在Python编程语言中,用format函数可以更好地控制输出格式。

1) 输出字段的格式

Format()可以控制输出字段格式,例如:需要输出10的 10次幂,由于数值太长,需要用逗号分隔开。
因此,可以写出如下代码:

pw = 10 ** 10
result = format(pw, ',')
print("The result is {}".format(result))

运行结果如下图所示:

在这里插入图片描述

2) 浮点数输出

当涉及到浮点数输出时,通常需要指定小数点位数,那么使用Format函数就十分方便,看以下代码:

pi = 3.14159265
result = format(pi, '6.2f')
print('Pi equals{}'.format(result))

圆周率pi变量的值有很多位小数,但是,我只想保留整数位6位和小数位2位,则可用’6.2f’来限制浮点数格式,得出结果后再打印输出。

运行结果如下图所示:
在这里插入图片描述

3) 字符串切割输出

除了浮点数外,长字符串也会面临同样问题。如果需要截断字符串,可以用format函数控制输出位数。看以下代码:

msg = 'Taylor Swift is a world-famous country music songwriter and singer.'
result = format(msg, '50.12')
print("Welcome! {}.".format(result))

执行结果如下图所示:
在这里插入图片描述
利用format函数成功截取了长度12个字符的结果Taylor Swift。

后续如果有空,我将会分享更多有趣的格式化字符串的案例。

相关阅读:

  1. Python机器学习 - 用最小二乘法实现散点图
  2. Python编程技巧 - 正则表达式
  3. Python编程技巧 - 单字符函数
  4. Python编程技巧 - 使用组合运算符
  5. Python编程技巧 - 异常处理
  6. Python编程技巧 - 迭代器(Iterator)
  7. Python编程技巧 - Lambda函数
  8. Python编程技巧 - 使用字典
  9. Python编程技巧 - 使用字符串(Strings)
  10. Python编程技巧 - 对象和类
  11. Python编程技巧 - 使用列表(List)
  12. Python编程技巧 - 转换二进制、八进制和十六进制的函数
  13. Python编程技巧 - 函数入门
  14. 安装2023最新版PyCharm来开发Python应用程序
  15. 安装最新版Visual Studio Code来开发Python应用程序
  16. 2023最新版Python 3.12.0安装使用指南

相关文章:

  • 10、python-装饰器
  • vscode中默认shell选择
  • VCG 基于CMake构建VCG项目
  • 基于STM/APM32F072制作的J-Link OB调试器项目验证
  • 使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题
  • 劫持最新版 QQNT / QQ / TIM 客户端 ClientKeys
  • 第十章 创建Callout Library - 使用 B 链接类型传递短计数字符串
  • MySQL的事务隔离级别
  • LeetCode 394:字符串解码
  • latexshop 使用bug:xxx has a comma at the end
  • 子网掩码与IP段计算
  • java企业网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • PAT 乙级 1042 字符统计
  • 无需手动搜索!轻松创建IntelliJ IDEA快捷方式的Linux教程
  • Rosalind 035 Creating a Distance Matrix
  • [NodeJS] 关于Buffer
  • EOS是什么
  • Java到底能干嘛?
  • PHP的Ev教程三(Periodic watcher)
  • socket.io+express实现聊天室的思考(三)
  • spring学习第二天
  • VuePress 静态网站生成
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 分享一份非常强势的Android面试题
  • 后端_MYSQL
  • 机器学习中为什么要做归一化normalization
  • 简单基于spring的redis配置(单机和集群模式)
  • 将 Measurements 和 Units 应用到物理学
  • 来,膜拜下android roadmap,强大的执行力
  • 排序算法学习笔记
  • 前端代码风格自动化系列(二)之Commitlint
  • 嵌入式文件系统
  • 如何利用MongoDB打造TOP榜小程序
  • 深入浅出webpack学习(1)--核心概念
  • 听说你叫Java(二)–Servlet请求
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • Nginx实现动静分离
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • "无招胜有招"nbsp;史上最全的互…
  • # Panda3d 碰撞检测系统介绍
  • $.proxy和$.extend
  • (12)Hive调优——count distinct去重优化
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (3)STL算法之搜索
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三)elasticsearch 源码之启动流程分析
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转载)(官方)UE4--图像编程----着色器开发
  • *setTimeout实现text输入在用户停顿时才调用事件!*