首页 > 编程语言 >轻松驾驭Python格式化:5个F-String实用技巧分享

轻松驾驭Python格式化:5个F-String实用技巧分享

时间:2024-03-12 09:12:17浏览次数:30  
标签:实用技巧 格式化 String 输出 Python var print 100

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. 对齐

对齐不仅是让输出更加美观,更重要的是清晰,能够让我们更容易找到输出中的关键的信息。

比如,下面对齐输出namevalue

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这个字符串,也就是说,占用的空间包含var17个空格。

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

这样输出之后,我们不知道30hello是哪个变量的值。
所以,我们一般会像下面这样输出:

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

这样不仅简化的写代码,而且变量名称发生变化的时候,也可以减少修改的地方。

标签:实用技巧,格式化,String,输出,Python,var,print,100
From: https://www.cnblogs.com/wang_yb/p/18067555

相关文章

  • day20240311周一python学习共100课
    day20240311周一python学习共100课。今天学到了第几课?听懂了吗?今天学10课。学3课,5课。买的好,买的少。父母家境好的家庭,会更轻松。------》第4课:编程语言就是把人的语言,转换成计算机机制能听得懂的语言(二进制语言)。1.写代码2.翻译代码到二进制。 跟着视频操作一遍就......
  • python代码小题
    习题一:逻辑运算=>输入三角形的3边,如果两边的长度大于第三条边,则代表是一个合法三角形#a=float(input("边长1="))#b=float(input("边长2="))#c=float(input("边长3="))#print(a+b>canda+c>bandb+c>a) 习题二:期末考试结束了,根据学员成绩求学员等级:90分及以上则......
  • 6.Python操作数据库
    1.操作mysql数据库importpymysql#连接数据库conn=pymysql.connect(host="127.0.0.1",port=3306,user="root",password="123456",database="a",autocommit=True)#创建游标进行数据库操作以及获取数据cursor=conn.cursor(cursor=pymysql.cursors.DictCu......
  • Python全栈开发武沛齐day07模块
    day07模块1.知识回顾• 模块的分类-自定义模块内置第三方模块• 自定义模块– 关于拆分crmutilsencrypt.pydb.pymessage.pyapp.py– 文件夹和文件(扩展)py文件->模块文件夹->包py2的包:内部必须有一个init.pypy3的包:无限制– 导入模块• 去哪里......
  • Python全栈开发武沛齐day06模块
    day06模块今日概要:环境搭建、基础语法、数据类型、函数->基本操作模块,别人帮我们写好的一大堆的功能代码。模块:-自定义模块-功能简单,一个py文件就能实现功能。-功能多or负责,一个py文件的功能拆分到多个py文件-内置模块,Python内部已经携带。 importos impo......
  • 实现Python pdf切割 ValueError: seek of closed file
    参考网上的教材,实现pdf文件的切割,提示一个问题ValueError:seekofclosedfile原来是pdf文件关闭导致的问题。将其改成一个程序就解决了。importPyPDF2pdf_path=r'E:\zhuanxie\jpm\2.pdf'out_path=r'E:\zhuanxie\jpm\23.pdf'#切割PDF文件start_page=1end_page=......
  • python打印三角形图案
    格式如图: 代码实现:deftriangle(row):foriinrange(1,row+1):forxinrange(i):print('*',end='')print()foriinrange(1,row+1):forxinrange(row-i):print('',end=&#......
  • python3实现xmind用例转excel
    1importxmindparser2importxlwt,xlrd3fromxlutils.copyimportcopy4fromxlwtimportWorksheet5fromxmindparserimportxmind_to_dict6importdatetime7importos8importre9importtraceback1011#当前时间戳12a=datetim......
  • 7-3 jmu-python-统计字符个数
    输入一个字符串,统计其中数字字符及小写字符的个数输入格式:输入一行字符串输出格式:共有?个数字,?个小写字符,?填入对应数量输入样例:helo134ss12输出样例:共有5个数字,6个小写字符代码长度限制16KB时间限制400ms内存限制64MB#读取一行字......
  • Python 中的推导式
    python中主要在列表、字典和集合中使用推导式。推导式就是对数据集(无论是列表、字典还是集合)的操作,一般只需要几行代码,可以将其收缩到一行或多行,从而提高可读性并使代码紧凑。 常见的推导式有:·列表推导式·字典推导式·集合推导式·生成器推导式列表推导式列表推导式一......