浅谈Python内置对象类型——数字篇(附py2和py3的区别之一)
Python是一门面向对象的编程设计语言,程序中每一样东西都可以视为一个对象。Python内置对象可以分为简单类型和容器类型,简单类型主要是数值型数据,而容器类型是可以包含其他对象类型的集体,如序列、元组、映射等。
在简单类型对象中,Python的数值数据包括整型(int)、长整型(long)、浮点型(float)、复数(complex)及布尔型(bool)等。在容器类型对象中,序列是指元素按顺序存储的一类对象,主要包括字符串(string)、列表(list)、元组(tuple)等类型。映射是通过键来访问值的一种结构,Python中唯一的映射结构就是字典(dict)对象。除了简单类型和容器类型对象之外,还有一种特殊的对象为None,是指空对象。
所有的对象都有数据属性和内置的方法。对象的方法就是我们经常说的函数,用于执行操作,作用于对象上。对象的属性和方法都可以通过点操作符(.)来调用。
今天小编就带大家了解一下Python内置对象中的简单类型对象,即数字类型。Python中的数值可以是各种数,包括整数、长整数、浮点数、复数、布尔类型数等等。前天小编写了一篇文章,关于如何在交互式环境中执行Python程序,下图是部分实例,先感受一下数字类型对象。

一、常量
Python中的数字常量支持多种格式,我们常见的常量是整型和浮点型。其实Python中也支持科学计数法,常常用科学计数法来表示浮点数,如1.2e-3或1.2E-3表示1.2/*10的-3次方。除了默认的十进制数之外,还可以使用二进制、八进制、十六进制来表示常数,不过要在这些数字前边添加前缀以便和十进制数进行区分,二进制、八进制、十六进制的前缀分别是0b、0、0x。Python中的数字常量还支持复数和分数形式,但是在分数运算的时候有个地方需要注意,看下图的例子。

py2版本中的分数运算

py3版本中的分数运算
小伙伴是不是感觉到有点儿懵逼?在py2中整数除法运算的结果仍然为整数,是取整,而不是四舍五入噢。当参与运算的数中有一个为浮点数的时候,Python会自动将另一个数字隐性的转换为浮点数,因此在第二个运算中得到的结果为浮点数。在py3中,除法的意义就和我们平时见到的除法是一致的了,而不是取整。换句话说,除法的除数和被除数在py3中都先做了浮点数转换,然后相除,最终得到的商是浮点数。
Python的运算中还有双斜杠//,也是代表除法,这个除法可以得到最大整数商,这种除法模式也叫floor除法。在py2中就支持这种模式,当两个整数相除,结果只得到商的整数部分。%代表取余运算符,可以得到余数部分。如下图所示:

floor除法和取余运算
二、分数
分数包括分子和分母两个部分。在Python中,函数Fraction(x, y)表示分数x/y。在使用该函数之前,需要导入分数模块fractions,分数构建之后,就可以在表达式中使用了。当然,也可以将浮点数字符串转换为分数,如下图所示:

分数Fraction函数运算
三、布尔型
布尔型对象只有两个值,即对(True)和错(False)。对于空数据类型,其布尔值均为False。一般来说,布尔型数值用在条件判断中比较多,其通常会作为程序的分支或者循环的测试条件来使用。
四、复数
复数是由有理数部分和无理数部分构成。其中有理数部分称为实部,该部分可有可无;而无理数部分称为虚部,该部分是必需需要的,虚部的后缀一般用j或者J表示。复数也支持常数中的四则运算等,复数之间运行的结果仍为复数,如下图所示:

复数中的四则运算
数字是最基本的数值类型,不论哪种编程语言都离不开它。希望小伙伴们都好好掌握,在分数运算部分尤其要注意掌握py2和py3版本中的不同,这个知识点在面试题中经常会碰到,其实这个部分也算是两个版本的区别之一。
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/
浅谈Python内置对象类型——数字篇(附py2和py3的区别之一)的更多相关文章
- python——内置对象
python的内置对象 对象类型 常量示例/用法 Number(数字) 3.14159, 1234, 999L 3+4j String(字符串) 'spam', "guido's" ...
- python高级(二)—— python内置序列类型
本文主要内容 序列类型分类: (1)容器序列.扁平序列 (2)可变序列.不可变序列 列表推导式 生成器表达式 元组拆包 切片 排序(list.sort方法和sorted函数) bisect pytho ...
- 浅谈Redis五个对象类型的底层原理
本博客强烈推荐: Java电子书高清PDF集合免费下载 https://www.cnblogs.com/yuxiang1/p/12099324.html Redis是一种key/value型数据库,其 ...
- Python内置函数查询表——总结篇
Python3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析,现在是时候进行个总结了.为了方便记忆,将这些内置函数进行了如下分类: 数学运算(7个) 类型转换(24个) ...
- python 内置错误类型 Built-in Exceptions
BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration ...
- 实现type函数用于识别标准类型和内置对象类型
function type(obj){ return Object.prototype.toString.call(obj).slice(8,-1); } var t=type(new Number( ...
- jsp内置对象浅谈
jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...
- python3-认识内置对象,运算符,表达式
1 . 认识内置对象 在python中一切皆对象, 整数,实数,复数,字符串,列表,元组,字典,集合,zip, map, enumerate, filter , 函数 ,类 , 分类:内置对象,标准 ...
- javascript中的内置对象总结
内置对象 标准内置对象 Object Object.create Object.prototype.toString Object.prototype.hasOwnProperty Boolean S ...
随机推荐
- watch 和 计算属性
作者:纵横链接:https://www.zhihu.com/question/55846720/answer/331760496来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- vuecli3.x与vuecli2.x 主要区别
3.0 新加入了 TypeScript 以及 PWA 的支持 部分命令发生了变化: 下载安装 npm install -g vue@cli 删除了vue list 创建项目 vue create ...
- phantomJS安装出错解决办法
解决办法:https://github.com/xhlwill/blog/issues/11
- Django模板之模板继承(extends/block)
Django模版引擎中最强大也是最复杂的部分就是模版继承了.模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 block. 模板继承: 1. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(8)— 最炫“公式”风
ShoneSharp语言(S#)的设计和使用介绍 系列(8)— 最炫“公式”风 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSha ...
- excel2007灵活计算2个日期之间的工作日
C1单元格公式:=NETWORKDAYS(A1,B1,$F$2:$F$10)+COUNTIFS($I$2:$I$3,">="&A1,$I$2:$I$3,"& ...
- python+selenium实现百度关键词搜索自动化操作
缘起 之前公司找外面网络公司做某些业务相关关键词排名,了解了一下相关的情况,网络公司只需要我们提供网站地址和需要做的关键词即可,故猜想他们采取的方式应该是通过模拟用户搜索提升网站权重进而提升排名. 不 ...
- js生成一个上限跟下限的随机数
function sj() { //x上限,y下限 var x = 2000; var y = 1800; var rand = parseInt(Math.random() * (x - y + 1 ...
- layui加tp5图片上传实例
<div class="layui-fluid"> <div class="layui-row"> <form class=&qu ...
- 【JUC】阻塞队列&生产者和消费者
阻塞队列 线程1往阻塞队列添加元素[生产者] 线程2从阻塞队列取出元素[消费者] 当队列空时,获取元素的操作会被阻塞 当队列满时,添加元素的操作会被阻塞 阻塞队列的优势:在多线程领域,发生阻塞时,线程 ...