深度测评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

相关文章
|
16天前
|
Python
python保存两位小数的几种方法,python2保留小数
python保存两位小数的几种方法,python2保留小数
51 2
|
5天前
|
Python
Python中几种lambda排序方法
【9月更文挑战第7天】在Python中,`lambda`表达式常用于配合排序函数,实现灵活的数据排序。对于基本列表,可以直接使用`sorted()`进行升序或降序排序;处理复杂对象如字典列表时,通过`lambda`指定键值进行排序;同样地,`lambda`也适用于根据元组的不同位置元素来进行排序。
|
16天前
|
Python
|
16天前
|
C++ Python
python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
python类方法中使用:修饰符@staticmethod和@classmethod的作用与区别,还有装饰器@property的使用
11 1
|
16天前
|
存储 编解码 API
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
16 1
|
16天前
|
算法 定位技术 vr&ar
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
84 0
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
|
14天前
|
UED Python
探索Python中的魔法方法:打造自定义字符串表示
【8月更文挑战第31天】在Python的世界里,魔法方法是那些以双下划线开头和结尾的特殊方法,它们为类提供了丰富的功能。本文将带你走进这些魔法方法的背后,特别是__str__和__repr__,揭示如何通过它们来定制我们的对象在被打印或转换为字符串时的外观。我们将从基础用法开始,逐步深入到高级技巧,包括继承与重写,最终实现一个优雅的字符串表示方案。准备好了吗?让我们开始这段代码之旅吧!
|
16天前
|
索引 Python
如何在 Python 中修改字符串
【8月更文挑战第29天】
11 0
|
16天前
|
Python Windows Perl
python 字符串前加r b u f 含义
python 字符串前加r b u f 含义
22 0
|
Python
python 格式化、set类型和class类基础知识练习(下)
lambda 参数1,参数2,参数3:表达式 特点: 1.使用lambda关键字创建函数 2.没有名字的函数 3.匿名函数冒号后面的表达式有且只有一个,是表达式不是语句 4.自带return
144 0