Python学习教程(learning Python)--1.2.2 Python格式化输出基础
本节讨论为何要格式化输出数据?
先看一段代码吧,本程序的功能是计算月支付金额。
amount_due = 5000.0 #年支付金额 monthly_payment = amount_due / 12.0 #求月支付金额 print('The monthly payment is', monthly_payment) #输出
输出结果
The monthly payment is 416.666666667
从上边结果可以看出“416.666666667”这个数据很不人性!希望输出结果保留两位小数最好了!怎么办?
Python的内建函数print函数能够将字符串、整数、浮点数等数据结构值输出,但是有的时候输出结果
会比较杂乱,格式不好,这时候需要用到Python的另一个内建函数format来格式化数据显示结果。
基本语法结构如下:
format(数值, “格式字”)
- 格式字是由数字、点、字符组成
- ‘m.nf’ 的m是指整个输出占几个输出的字符位,n的含义是小数点后保留几位小数
举例说明
eg1. 格式化输出浮点数n的作用
amount_due = 5000.0 monthly_payment = amount_due / 12.0 print('The monthly payment is') print(format(monthly_payment, '.2f'))
♣输出结果为:
The monthly payment is 416.67
本例'.2f'的含义是输出数据保留2为小数。
eg2. 格式化字符串m的作用
print(format(12345.6789, '12.2f')) print(format(12345.6789, '.2f'))
♣输出结果为:
12345.68 12345.68
从本例输出结果可看出,第1行代码输出时占了12个字符为,有对齐输出;第2行代码左对齐输出。
那么如果n + 1 + 小数点前数字个数 > m,是不是就显示不下了呢?我们看下边的例子
print(format(123456789.0123, '18.2f')) print(format(123456789.0123, '11.2f')) print(format(12345.6789, '.2f'))
数据”123456789.0123“加点号共14个字符, 代码第1行格式控制字是18.2f,意思是print输出占18个字符位,数据共14个字符小于18,右对齐输出没问题,能打印的下。
代码第2行format函数格式控制字是11.2f,意思是print输出占11个字符位,数据共14个字符大于11,怎么办?不能把多余的给删除了吧,python此时处理办法是保证数据正确性,忽略格式控制字m不够长度的情况,左对齐输出正确数据,不管m(这里是11)。
代码第3行,输出时只限定了小数点后保留几位,左对齐输出数据。
♣输出结果为:
123456789.01 123456789.01 12345.68
智普教育Python www.jeapedu.com
———————————————————————————————————————————
Python学习教程(learning Python)--1.2.2 Python格式化输出基础的更多相关文章
- python学习教程,史上最全面的python学习路线图
Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Pyt ...
- Python学习教程(learning Python)--2.3.5 Python返回多个值问题
本节主要学习Python的函数是如何同时返回多个值的问题. 在学习Python的时候惊奇的发现,Python的函数可以同时返回多个值,很有意思. #define function sum def su ...
- Python学习教程(learning Python)--3.3.4 Python的if-elif-else语句
Python的if-elif-else语句用于多种条件判断后选择某个语句块执行.该语句可以利用一系列条件表达式进行检查,并在某个表达式为真的情况下执行相应的代码.需要注意的是,虽然if/elif/el ...
- Python学习教程(learning Python)--3.3.3 Python逻辑关系表达式
在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...
- Python学习教程(learning Python)--3.3.2 Python的关系运算
如果if的condition不用布尔表达式来做条件判断而采用关系表达式,实际上关系表达式运算的结果要么是True要么是False.下面我们先了解一些有关关系运算符的基础知识,如下表所示. 做个小程序测 ...
- Python学习教程(learning Python)--3.3.1 Python下的布尔表达式
简单的说就是if要判断condition是真是假,Python和C语言一样非0即真,所以如果if的condition是布尔表达式我们可以用True或者非0数(不可是浮点数)表示真,用False或者0表 ...
- Python学习教程(learning Python)--3.3 分支语句的条件表达式详解
本节主要讨论分支语句的条件表达式问题. 在if或者if-else分支控制语句里由于都用到条件判断(表达式是真还是假),条件判断可以是一种关系运算也可以是布尔表达式. 本节将对if及if-else语句的 ...
- Python学习教程(learning Python)--3.2 if-else分支语句
if-else分支语句结构的特点是当conditon条件满足时,执行if下的语句块,当condition条件不满足时执行else下的语句块,也就是说根据条件来控制让某些语句执行,某些语句不被执行. i ...
- Python学习教程(learning Python)--3.1 Python的if分支语句
本节研究一下if分支语句. if分支语句是Python下逻辑条件控制语句,用于条件执行某些语句的控制操作,当if后的条件conditon满足时,if其下的语句块被执行,但当if的控制条件condito ...
随机推荐
- jdk线程的死锁
两个线程相互等着对方释放同步监听器:等着要对方的结果后才能继续执行就会发生死锁. 男对女说:你先嫁给我,我再给你买房子:女对男说:你先给我买房子,我再嫁给你. 多个线程同时锁住同一个监听对象. 在开发 ...
- android EditText 只允许输入指定字符
实现只允许只入数字和字符 方法一:在XML文件中实现布局如下: <EditText android:layout_width="match_parent" android:l ...
- Android2.2 API中文文档——View
概述 java.lang.Object ↳ android.view.View 已知直接子类: AnalogClock, ImageView, KeyboardView, Progres ...
- nginx如何限速?
nginx自从1.1.8版本发布后将limit_conn更换为limit_conn_zone . 对应则需要修改配置文件 在nginx.conf的http下面加入下面代码limit_conn_zone ...
- maven的版本管理笔记
1. 版本管理 (1) 快照版本对应了项目的开发过程,往往对应了很长的时间:发布版本对应了项目的发布,因此仅仅代表某个时刻项目的状态. (2) 理想的发布版本应当对应项目某个时刻比较稳定的状态,包括源 ...
- 【鸡渣饲料系列】《Introdution to 3D Game Programming With DirectX11》 代码转移至vs2015
<Introdution to 3D Game Programming With DirectX11>我是从这本书学习的directx,被称为“龙书”dx11版,由于是通过这本书学习的所以 ...
- 三方框架之masonry
这个详细的介绍:http://www.cocoachina.com/ios/20141219/10702.html Masonry 源码:https://github.com/Masonry/Maso ...
- phpinfo中查不到memcache信息问题
已经安装了php的memcache扩展,可是怎么都不能通过phpinfo查询到,实际使用时提示扩展未安装.为什么呢?百般寻求解决方法,才发现主要有以下两点原因: 1.使用的php和安装扩展的php不是 ...
- 操作系统学习笔记 对称多处理(SMP)
SMP:一种通过复用处理器提高程序执行并行性的方式. 根据SMP,计算机系统可以分为以下四类: 单指令单数据流(SISD):一个单处理器执行一个单指令流,对保存在一个存储器中的数据进程进行操作. 单指 ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(二)
硬广:<SVN与TortoiseSVN实战>系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解. 关于属性的奇技淫巧较多,分为两篇来写,第一篇详见< ...