深度测评Python的3种“字符串格式化”方法,看看你喜欢哪一种?(二)

简介: 深度测评Python的3种“字符串格式化”方法,看看你喜欢哪一种?(二)

4)使用“任意符号”完成填充功能

这个知识点必须在讲完填充和对齐后,才能为大家演示。其实没有为什么,就是语法是这样的,我们就必须这样做。


① %格式化

旧版语法的%格式化,使用"特定符号"填充,很麻烦,不直接,你也不用去管。这里主要看新版语法中format()格式化和f-string格式化,进行"特定符号"填充。


② format()格式化

# 左填充
a = '{:_>10}'.format('黄同学')
print(a,len(a))
# 右填充
b = '{:_<10}'.format('黄同学')
print(b,len(b))
# 居中填充
c = '{:_^10}'.format('黄同学')
print(c,len(c))


结果如下:

image.png


③ f-string格式化

name = "黄同学"
a = f"{name:_>10}"
print(a,len(a))
b = f"{name:_<10}"
print(b,len(b))
c = f"{name:_^10}"
print(c,len(c))


结果如下:


image.png

5)与“数字”相关的格式化填充技巧

① 你有必要了解的知识

经过前面的学习和叙述,我们已经知道这3种方法,都是完成字符串格式化的操作的,但是为何它们又可以填充数字呢?


原因:Python自动帮我们做了一次隐式转换,但是这种隐式转换是需要付出代价的,它会消耗额外的性能,牺牲速度。因此我们有特定的语法去解决这个问题。


② %格式化

%s表示填充字符串;%d表示填充整数;%f表示填充小数;

完成整数的填充:


# 仅仅使用%s,既可以完成字符串的填充,又可以完成数字的填充
a = '%s' % (3000)
print(a)
a1 = '%s' % ("3000")
print(a1)
# 当使用了%d后,只可以填充数字,不能填充字符串,否则会报错
# 使用%d填充整数,是推荐写法
b = '%d' % (3000)
print(b)
b1 = '%d' % ("3000")
print(b1)


结果如下:

image.png

完成浮点数的填充:


a = '%.2f' % (3.1415926)
print(a)
b = '%.3f' % (3.1415926)
print(b)


结果如下:

image.png


③ format()格式化

完成整数的填充:


# 不指定d符号,既可以完成字符串的填充,又可以完成数字的填充
a = '{:$>5}'.format(3000)
print(a)
a1 = '{:$>5}'.format("3000")
print(a1)
# 当指定了d符号后,只可以填充数字,不能填充字符串,否则会报错
# 使用符号d填充整数,是推荐写法
b = '{:¥>5d}'.format(3000)
print(b)
b1 = '{:¥>5d}'.format("3000")
print(b1)


结果如下:

image.png

完成浮点数的填充:


a = '{:.2f}'.format(3.14159268)
print(a)
b = '{:.3f}'.format(3.14159268)
print(b)


结果如下:

image.png


④ f-string格式化

完成整数的填充:


num1 = 3000
num2 = "3000"
# 不指定d符号,既可以完成字符串的填充,又可以完成数字的填充
a = f'{num1}'
print(a)
a1 = f'{num2}'
print(a1)
# 当指定了d符号后,只可以填充数字,不能填充字符串,否则会报错
# 使用符号d填充整数,是推荐写法
b = f'{num1:d}'
print(b)
b1 = f'{num2:d}'
print(b1)


结果如下:

image.png

完成浮点数的填充:


num = 3.14159268
a = f'{num:.2f}'
print(a)
b = f'{num:.3f}'
print(b)


结果如下:

image.png

相关文章
|
3天前
|
Python
探索Python中的魔法方法:打造你自己的自定义对象
【8月更文挑战第29天】在Python的世界里,魔法方法如同神秘的咒语,它们赋予了对象超常的能力。本文将带你一探究竟,学习如何通过魔法方法来定制你的对象行为,让你的代码更具魔力。
20 5
|
2天前
|
Python
python保存两位小数的几种方法,python2保留小数
python保存两位小数的几种方法,python2保留小数
16 2
|
2天前
|
存储 算法 数据库
使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
`hashlib` 是 Python 中用于实现哈希功能的模块,它可以将任意长度的输入通过哈希算法转换为固定长度的输出,即散列值。该模块主要用于字符串加密,例如将用户名和密码转换为不可逆的散列值存储,从而提高安全性。`hashlib` 提供了多种哈希算法,如 `md5`、`sha1`、`sha256` 等。
11 1
|
2天前
|
Python
|
2天前
|
C++ Python
python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
6 1
|
2天前
|
存储 编解码 API
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
10 1
|
2天前
|
Python
python的列表的remove()方法、判断if xxx in xx条件比较耗时问题
python的列表的remove()方法、判断if xxx in xx条件比较耗时问题
10 1
|
2天前
|
算法 定位技术 vr&ar
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
15 0
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
|
2天前
|
索引 Python
如何在 Python 中修改字符串
【8月更文挑战第29天】
6 0
|
2天前
|
Python Windows Perl
python 字符串前加r b u f 含义
python 字符串前加r b u f 含义
8 0
下一篇
云函数