轻松驾驭Python格式化:5个F-String实用技巧分享
F-String(格式化字符串字面值)是在Python 3.6中引入的,它是一种非常强大且灵活的字符串格式化方法。
它允许你在字符串中嵌入表达式,这些表达式在运行时会被求值并转换为字符串,
这种特性使得F-String在编写Python代码时能够更简洁、更直观地处理字符串。
本文总结了5个实用的F-String技巧,相信一定能让你的代码输出更加的美观,清晰。
1. 大数字
在Python的数据分析的项目中,经常接触到很大的数字,直接打印出大数字的话,很难看出它究竟有多少位。
n = 100000000
print(n)
# 100000000
用F-String来格式化,可以将大数字用千分位的形式显示出来。
# 千分位的分隔符用 _ 或者 , 都可以
print(f"{n:_}")
# 100_000_000
print(f"{n:,}")
# 100,000,000
2. 浮点数
对于浮点数,除了可以用千分位分隔之外,还可以指定显示几位小数。
n = 1234.5678
print(f"{n:.2f}")
# 1234.57
print(f"{n:.0f}")
# 1235
print(f"{n:,.3f}")
# 1,234.568
print(f"{n:_.3f}")
# 1_234.568
显示前会自动做四舍五入的计算。
3. 对齐
对齐不仅是让输出更加美观,更重要的是清晰,能够让我们更容易找到输出中的关键的信息。
比如,下面对齐输出name和value。
name = "var"
value = 100
# >20 表示右对齐,并且占用20个字符的空间
print(f"{name:>20}: {value}")
# <20 表示左对齐,并且占用20个字符的空间
print(f"{name:<20}: {value}")
# ^20 表示居中对齐,并且占用20个字符的空间
print(f"{name:^20}: {value}")
# 运行结果
var: 100
var : 100
var : 10
占用的20个字符的空间,包括var这个字符串,也就是说,占用的空间包含var和17个空格。
F-String格式化输出时,默认是用空格来占位的,我们也可以定义自己的占位符。
# 下面的例子分别用 _ # | 来占位
print(f"{name:_>20}: {value}")
print(f"{name:#<20}: {value}")
print(f"{name:|^20}: {value}")
# 运行结果
_________________var: 100
var#################: 100
||||||||var|||||||||: 100
4. 日期
日期的格式化也是很常用的,python的日期格式化字符都可以在F-String中使用。
from datetime import datetime
now = datetime.now()
print(f"{now:%Y-%m-%d (%H:%M:%S)}")
# 2024-03-12 (00:17:05)
print(f"{now:%c}")
# Tue Mar 12 00:17:05 2024
print(f"{now:%I%p}")
# 12AM
5. 变量描述
最后这个功能很有用,但估计没多少人知道。
所谓变量描述,也就是说在输出变量的时候,不仅输出变量的值,也输出变量的名字。
比如,一般我们输出变量是这样:
a = 10
b = 20
s = "hello"
print(f"{a + b}")
# 30
print(f"{s}")
# hello
这样输出之后,我们不知道30和hello是哪个变量的值。
所以,我们一般会像下面这样输出:
print(f"a + b = {a + b}")
# a + b = 30
print(f"s = {s}")
# s = hello
F-String有个技巧,可以避免自己手动去输入变量的名字(比如上面的a + b = 和 s =)。
print(f"{a + b = }")
# a + b = 30
print(f"{s = }")
# s = hello
这样不仅简化的写代码,而且变量名称发生变化的时候,也可以减少修改的地方。
轻松驾驭Python格式化:5个F-String实用技巧分享的更多相关文章
- python 格式化输出%s %f %d
格式说明由%和格式字符组成,如%f,它的作用是将数据按照指定的格式输出.格式说明是由“%”字符开始的. 1.整型输出%d print 'my age is %d'% (26) 说明:%d相当于是一个占 ...
- Python:大神用的贼溜的实用技巧分享
整理字符串输入 整理用户输入的问题在编程过程中极为常见.通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作.但是如果问题很复杂,可能有更好的方法来解决: ...
- python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇
0 - 占位符介绍 要实现字符串的拼接,使用占位符是的一种高效.常用的方式. 举个例子,下面是不使用占位符的一种写法,直接使用加号拼接字符串 name = "Li hua" age ...
- (转)Python格式化字符 %s %d %f
Python格式化字符 %s %d %f 原文:http://blog.csdn.net/huangfu77/article/details/54807835 格式 描述%% 百分号标记 #就是输出一 ...
- Python格式化字符串~转
Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...
- Python格式化字符串
在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...
- python格式化输出【转】
今天写代码时,需要统一化输出格式进行,一时想不起具体细节,用了最笨的方法,现在讲常见的方法进行一个总结. 一.格式化输出 1.整数的输出 直接使用'%d'代替可输入十进制数字: >>> ...
- Python - 格式化字符串的用法
0. 摘要 Python支持多种格式化字符串的方法,包括%-fromatting.str.format().f-strings三种,f-strings是Python3.6以后出现的一种新方法,相比其他 ...
- 【转】Python格式化字符串str.format()
原文地址:http://blog.xiayf.cn/2013/01/26/python-string-format/ 每次使用Python的格式字符串(string formatter),2.7及以上 ...
- Python格式化字符串知多少
字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(%) 替换.如一句问候语: ...
随机推荐
- 5.0 Python 定义并使用函数
函数是python程序中的基本模块化单位,它是一段可重用的代码,可以被多次调用执行.函数接受一些输入参数,并且在执行时可能会产生一些输出结果.函数定义了一个功能的封装,使得代码能够模块化和组织结构化, ...
- 6、后端学习规划:Java学习 - 学习规划系列文章
Java语言在现在的编程语言排行榜上也是前5的存在.经过这么些年的发展,Java的发展没有C#这么大,但是在编程领域,因为有MVC架构,以及Spring框架的支持,以及微服务架构等等,Java这些年也 ...
- 【scikit-learn基础】--『分类模型评估』之评估报告
分类模型评估时,scikit-learn提供了混淆矩阵和分类报告是两个非常实用且常用的工具.它们为我们提供了详细的信息,帮助我们了解模型的优缺点,从而进一步优化模型. 这两个工具之所以单独出来介绍,是 ...
- 零基础入门Vue之影分身之术——列表渲染&渲染原理浅析
听我说 从 条件渲染 那一篇,我学习到了如何用Vue对dom节点根据条件显示 但单单有条件还不够啊,有时候数据是一大坨一大坨的数据,如果Vue不提供咱要么使用"v-html" 要么 ...
- .NET Core开发实战(第7课:用Autofac增强容器能力)--学习笔记(下)
07 | 用Autofac增强容器能力:引入面向切面编程(AOP)的能力 如何获取没有命名的服务呢? // Autofac 容器获取实例的方式是一组 Resolve 方法 var service = ...
- ABC 314
F 每次相当于创建一个包含 \(p_i,q_i\) 各自所在集合的点的大点 \(u\),然后 \(u\) 向 \(p_i,q_i\) 各自所在集合连边,边权就是胜率. 连完之后求每个点到根结点(\(\ ...
- JS leetcode 拥有最多糖果的孩子 题解分析,六一快乐。
壹 ❀ 引 今天是六一儿童节,leetcode的每日一题也特别可爱,那么今天我们来解决一道与糖果有关的问题,题目来源1431. 拥有最多糖果的孩子,题目描述如下: 给你一个数组 candies 和一个 ...
- 普冉PY32系列(十一) 基于PY32F002A的6+1通道遥控小车II - 控制篇
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- IDEA从o开始的一系列操作及修改配置-快捷键汇总
IDEA从o开始的一系列操作及修改配置-快捷键汇总 下载IDEA 启动idea 安装svn插件 功能快捷键 先设置提示快捷键(纯属个人喜好) 入门快捷键 查找 编辑 小功能 自动代码提示 自动导包 T ...
- Oracle insert all语句介绍
Oracle 中insert语句的高级用法,INSERT ALL 语句介绍: 1.无条件insert all 全部插入 CREATE TABLE t1(product_id NUMBER, produ ...