《Python语言程序设计》——3.6 格式化数字和字符串

简介:

本节书摘来自华章计算机《Python语言程序设计》一书中的第3章,第3.6节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.6 格式化数字和字符串

关键点:你可以使用format函数返回格式化的字符串。
我们常常希望显示某种格式的数字。例如:已知数额和年利率,下面是计算利息的代码。


<a href=https://yqfile.alicdn.com/bc6bdeaf10f24d233b1c89ce68c5a4654623a722.png"

因为利息数是货币,因此我们希望只是显示小数点后两位数。为了达到这点要求,我们编写如下代码。


0efc82bf5eb5c2c0fe336b0c5d99235fd1ce376b

然而,格式依旧不正确。小数点后应该有两位小数,就像16.40而不是16.4。你可以使用format函数来修改它,如下所示。

747b9a1805f88e54d3383620e42d31ca9ecac927

调用这个函数的语法是:

<a href=https://yqfile.alicdn.com/061d06312497b0cca9438f3f5aca11b2a632f1a2.png" >

上面的item是数字或者字符串,而格式说明符(format-specifier)指定条目item的格式。此函数返回一个字符串。
3.6.1 格式化浮点数
如果条目item是一个浮点值,你可以用标识符以“width.precisionf”的形式给出格式的宽度和精确度。这里的宽度width指定得到的字符串的宽度,精确度precision指定小数点后数字的个数,而f被称为转换码,它为浮点数设定格式。例如:

43606cf5c4c99517ee30ff46461ee7f3d03ea729

显示

a5d6254ebea6407df0615fd27f37d3c13f45261c

这里的方箱子(□)表示一个空格。注意:小数点占一个空格。
函数format(“10.2f”)将数字格式化成宽度为10,包括小数点以及小数点后两位小数的字符串。这个数字被四舍五入到两个小数位。这样,在小数点前分配7个数字。如果在小数点前的数字小于7个,则在数字前插入空格。如果小数点前的数字个数大于7,则数字的宽度将会自动增加。例如:format(12345678.923,“10.2”)返回的是12345678.92,它的宽度为11。
你也可以省略宽度符。如果这样的话,它就被默认为是0。这样,宽度就会根据格式化这个数所需的宽度自动设置。例如:

<a href=https://yqfile.alicdn.com/dda04fb08c9e1239f99dcb75d16998af3db87c73.png
" >

显示:

43f84e8602b70a212eca7cffc54ce54bcb297e71

3.6.2 用科学记数法格式化
如果你将转换码f变成e,数字将被格式化为科学记数法。例如:

38966161b8fa17b28d59ffff17fa489fc4b6767b

显示:

7c3c2aea328a75d887281f103ae04ab2ed917a6e

符号“+”和“-”被算在宽度里。
3.6.3 格式化成百分数
可以使用转换码“%”将一个数字格式化成百分数。例如:

fe24a111788558667f997df8a2367ccc57811ee5

显示:

ca8043d521100c26103e1731362ad49e1c06435b

格式“10.2%”将数乘以100后加上符号“%”。符号%也被算在宽度里面。
3.6.4 调整格式
在默认情况下,一个数的格式是向右对齐的。可以将符号“<”放在格式说明符里指定得到的字符串是以指定的宽度向左对齐的。例如:

fc72160a5c38462ac9cf9351ff198ac224332efd

显示:

b1d86bd003cbd7550574ae6b1b5465e2c185b63c

3.6.5 格式化整数
“d”、“x”、“o”和“b”转换码分别用来格式化十进制整数、十六进制整数、八进制整数和二进制整数。可以指定转换的宽度。例如:

<a href=https://yqfile.alicdn.com/44d7d1726c5242258773f06a2c423e592453e4db.png
" >

显示:

<a href=https://yqfile.alicdn.com/d8ba76848c34a8fd10bc24aca6c3636ec53f733a.png
" >

格式说明符“10d”指定将一个整数格式化为一个宽度为10的十进制数。格式说明符“10x”指定将一个整数格式化为一个宽度为10的十六进制数。
3.6.6 格式化字符串
可以用转换码s将一个字符串格式化为一个指定宽度的字符串。例如:

<a href=https://yqfile.alicdn.com/23f1ba8b4f8a281d22a808ce34ea365e56067d56.png
" >

显示:

5340be45cb4021079465f3b16df3b1cc3db0cb3e

格式说明符“20s”指定字符串被格式化为宽度在20以内的字符串。在默认情况下,字符串是向左对齐的。为了向右对齐,在格式符里加入“>”符号。如果字符串比指定的宽度长,宽度将自动增加到字符串的宽度。
表3-4总结了这一小节介绍的格式说明符。


<a href=https://yqfile.alicdn.com/a7257984fec5575a82680f920d634679148a2e27.png
" >

检查点
3.17 调用format函数,它的返回值是什么?
3.18 如果条目item的实际宽度大于格式符里指明的宽度会怎么样?
3.19 显示下面语句的输出:

dde291f4f97339a2b7876471a7e2f0595629054e

3.20 显示下面语句的输出:

e8363e097f501d5f376074432f5819686fa913fc

3.21 显示下面语句的输出:

2aec2780b0a13636ab3d50f54c1e1476770715b7

3.22 显示下面语句的输出:

0a7a0ec328bf42ea2d4213820c89e2186359e2aa

3.23 显示下面语句的输出:

85803074a2591db949f07fc8ca181ab9f88a3daa

3.24 显示下面语句的输出:

1dd3393e78b31499ac8ebb7d05f1f1e13a35d8b5
相关文章
|
12天前
|
Python
1167: 分离字符串(PYTHON)
1167: 分离字符串(PYTHON)
|
30天前
|
大数据 Python
使用Python查找字符串中包含的多个元素
本文介绍了Python中查找字符串子串的方法,从基础的`in`关键字到使用循环和条件判断处理多个子串,再到利用正则表达式`re模块`进行复杂模式匹配。文中通过实例展示了如何提取用户信息字符串中的用户名、邮箱和电话号码,并提出了优化策略,如预编译正则表达式和使用生成器处理大数据。
20 1
|
1月前
|
数据挖掘 开发者 Python
Python:字符串判断子串
Python:字符串判断子串
|
1月前
|
程序员 数据安全/隐私保护 Python
Python:翻转字符串
Python:翻转字符串
|
1月前
|
Python
利用Python生成字符串连接
利用Python生成字符串连接
19 0
|
1月前
|
索引 Python
Python系列(14)—— 字符串运算符
Python系列(14)—— 字符串运算符
|
1月前
|
存储 自然语言处理 数据挖掘
Python:计算字符串中每个单词出现的次数
Python:计算字符串中每个单词出现的次数
|
3天前
|
索引 Python
python 格式化、set类型和class类基础知识练习(上)
python 格式化、set类型和class类基础知识练习
21 0
|
4天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
12天前
|
Python
171: 字符串的倒序(python)
171: 字符串的倒序(python)

热门文章

最新文章