Python里字符串Format时的一个易错“点”

Python51

这是一篇很小的笔记,原因是我做学习通的时候见到了这个题:

Python里字符串Format时的一个易错“点”

当时看了一会儿发现没有符合自己想法的答案,然后就脑袋一热选了C,结果当然是错了...

Python里字符串Format时的一个易错“点”

看了一眼这个format的字符串对象,发现有个 {:7.2f} 的写法。既然 {:.2f} 是保留两位小数,那么这个 7 一定是保留七位整数吧!

但是定睛一看,不对啊,这答案也没有填充满7位啊!打开搜索引擎查了一下 Python format ,找了几篇文章都没有强调这件事,看了老久发现 菜鸟教程提到了个"宽度",我心里一惊,这就是我想要的结果。

问题出现在哪里呢?

7.2f 指的其实是 保留2位小数的同时保证数字 宽度7。之所以说是宽度,因为整个数字 包含小数点 都被算在内。 例如:

数字 宽度 4 1 3.14 4 450 3 14.43 5

再返回去看上面那道题,其实是选 B101/7保留2位小数得 14.43,而这个数值的 宽度只有 5,所以 默认在数字之前补充两个空格: 14.43。如果用Python的左填充写法更明显:

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Python

使用python实现希尔、计数、基数排序

计数排序是一种非比较性质的排序算法,元素从未排序状态变为已排序状态的过程,是由额外空间的辅助和元素本身的值决定的。 计数排序过程中不存在元素之间的比较和交换操作,根据元素本身的值,将每个元素出现的次数...
Python

python 线程之threading.local()源码学习

同一个进程下,多个线程是共享进程的数据,多线程为了保证数据的安全性,多线程的写操作会加锁,加锁也就意味着多线程模型下,效率将降低。 threading.local()可以为每个线程创建局部名称空间,t...
Python

python学习(一)——安装python

[Python学习一:了解Python,下载、安装Python。 文章目录​​前言​​​​一、了解Python​​​​1. Python 是什么​​​​1. 版本:​​​​2. 官网​​​​3. 常用...
Python

Python 工匠:使用数字与字符串的技巧

这是 "Python 工匠"系列的第 3 篇文章。 数字是几乎所有编程语言里最基本的数据类型,它是我们通过代码连接现实世界的基础。在 Python 里有三种数值类型:整型(int)、浮点型(float...
Python

python-print函数之sep、end参数

sep是print函数里的一个参数,主要用来定义输出数据之间的间隔符号。 其主要用法如下: 1.输出数据之间换行输出 str1 str2 2.输出数据之间用空格间隔,其实默认格式就是空格间隔 str1...
Python

计算速度太慢?试试 lru_cache 装饰器

众所周知,python语言是相当好用的,但是它的执行性能也是相对其他语言比较慢的。还好python提供了一个非常优秀的装饰器来解决这个问题,它就是lru_cache装饰器。lru_cache是通过著名...
Python

读书笔记_python网络编程3_(1)

0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通...