《Python核心编程》数字类型
1、数字类型简单介绍
- Python中数字类型包含:整型、长整型、布尔型、双精度浮点型、十进制浮点型、复数。这些数字类型都是不可变类型。也就是说,改变了数字的值会生成新的对象。
- 在Python中删除数字对象,能够用语句:del aInt,aLong,aFloat,aComplex
2、整型
布尔型
取值范围唯独两个值。True和False。
它们在数学运算中相应1和0.
对于值为0的不论什么数字或空集(空列表、空元组、空字典等)在Python中的布尔值都是False。
长整型
在其它编程语言中,比方C++中。int占用了32位。long int则取决于机器字长,long long int为64位。而在Python中。标准整型一般也是占用32位。可是假设在64位机器上用64位的编译器编译Python。则整型占用64位。
Python中长整型能够支持的范围非常大,只取决机器支持的虚拟内存大小。长整型的声明:直接在数字后加L:12345L
Python中整型与长整型逐渐统一为一种,所以使用时不用去关心整型还是长整型。
3、双精度浮点型
Python中的浮点型相似C中的double型,是双精度浮点型。占用64位。
4、复数
Python中的复数类型规定:
- 复数由实数部分和虚数部分构成:real + imagj
- 虚数部分不能单独存在,必须与0.0的实数部分一起构成复数
- 实数部分real和虚数部分imag都是浮点类型。
- 复数类型有三个内建属性: real、imag、conjugate(返回共轭复数)
>>> aComplex = 1.0 + 2.0j
>>> aComplex.real
1.0
>>> aComplex.imag
2.0
>>> aComplex.conjugate()
(1-2j)
5、操作符
自己主动类型转换
当对两个不同类型的数进行操作时。Python会自己主动进行类型转换。
主要的原则就是:整型转换为浮点型,非复数转换为复数。
真正的除法 vs 地板除
如今Python的版本号中调用除号“/”,运行的都是真正的除法:
>>> 1/2
0.5
>>> 1.0/2.0
0.5
另外另一种除法叫做地板除,它无论操作数为何种类型,总是舍去小数部分,能够通过符合“//”实现:
>>> 1.0//2.0
0.0
冪运算
通过操作符 ** 实现,注意各种符号的优先级,或者直接通过括号()消除优先级带来的歧义:
>>> -2**4
-16
>>> (-2)**4
16
位操作符
Python整型支持标准位运算:取反 ~ 、按位与 & 、按位或 | 、按位异或^ 、左移<< 、右移>>
6、工厂函数
- 标准类型函数如cmp()、str()、type()
- 数字类型函数
- 转换工厂函数:int()、long()、float、conplex()
- 功能函数:
- abs(num),返回绝对值
- corece(num1,num2)将num1、num2转换为同类型,然后以元组形式返回
- divmod(num1,num2),返回(num1/num2,num1%num2)
- pow(num1,num2),实现num1**num2
- round(flt,ndig=0),对浮点数flt四舍五入,保存ndig位小数。默觉得0。
- 仅用于整型的函数
- 进制转换函数,oct()、hex()
- ASCII转换函数
- chr()接受一个单字节整型值,返回相应的字符
- ord()接受一个字符。返回相应的整型值
>>> chr(97)
'a'
>>> ord('a')
97
7、相关模块
- decimal 十进制浮点运算类 Decimal
- array 高效数值数组
- math/cmath 标准C库数学运算函数。常规数学运算在math中,复数运算在cmath中
- operator 数学操作符的函数实现,比方 operator.sub(2,1)相当于2-1
- random 多种伪随机数生成器
>>> import operator
>>> operator.sub(2,1)
1
>>> import random
>>> random.randint(0,10)
3
>>> random.randint(0,10)
7
转载请注明出处:http://blog.csdn.net/u012162613/article/details/44286655
《Python核心编程》数字类型的更多相关文章
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- 学习《Python核心编程》做一下知识点提要,方便复习(一)
学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
- Python核心编程第二版(中文).pdf 目录整理
python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源 :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...
- python核心编程--笔记(不定时跟新)(转)
的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找python路径 1.4 –v ...
- python核心编程笔记(转)
解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找python路径 1.4 –v 冗 ...
- Python核心编程(第二版)PDF
Python核心编程(第二版) 目录 第1部分 Python核心第1章 欢迎来到Python世界1.1 什么是Python1.2 起源1.3 特点1.3.1 高级1.3.2 面向对象1.3.3 可升级 ...
- 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录
目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...
- Python核心编程-描述符
python中,什么描述符.描述符就是实现了"__get__"."__set__"或"__delete__" 方法中至少一个的对象.什么是非 ...
- Python核心编程的四大神兽:迭代器、生成器、闭包以及装饰器
生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,并且返回一个值:在下一次调用该函数执行时,程 ...
随机推荐
- 备忘 CSS字体中英文名称对照表
转载自:http://www.jb51.net/css/67658.html 在CSS文件中,我们常看到有些字体名称变成了乱码,这是由于编写者将中文字体的名字直接写成了中文,并且再上传或者拷贝复制的时 ...
- 如何应对pm2.5
细颗粒物又称细粒.细颗粒.PM2.5:指环境空气中空气动力学当量直径小于等于 2.5 微米的颗粒物,也称细颗粒物.能较长时间悬浮于空气中,其在空气中含量(浓度)越高,就代表空气污染越严重.可吸入颗粒物 ...
- JSON 序列化与弱类型
一.C#中JSON序列化有多种方式: 使用“DataContractJsonSerializer ”类时需要, 1.引用程序集 System.Runtime.Serialization 和 Syste ...
- jquery插件的基本写法
(function($){ var a={name:'2222',age:5555} var b={sex:'男',grade:5555} var c=$.extend({},a,b);//合并到新的 ...
- bq25896 IINDPM 及 無 IINDPM 時的 regsiter
無 IINDPM status 有 IINDPM status [bq25890 reg@][0x0]=0x5d[0x1]=0x6[0x2]=0x91[0x3]=0x1a[0x4]=0x8[0 ...
- Scrapy学习-13-使用DownloaderMiddleware设置IP代理池及IP变换
设置IP代理池及IP变换方案 方案一: 使用国内免费的IP代理 http://www.xicidaili.com # 创建一个tools文件夹,新建一个py文件,用于获取代理IP和PORT from ...
- express之中间件bodyParser的理解
bodyParser用于解析客户端请求的body中的内容,内部使用JSON编码处理,url编码处理以及对于文件的上传处理.另外bodyParse也可以接受客户端ajax提交的json数据,以及url的 ...
- FFT题集
FFT学习参考这两篇博客,很详细,结合这看,互补. 博客一 博客二 很大一部分题目需要构造多项式相乘来进行计数问题. 1. HDU 1402 A * B Problem Plus 把A和B分别当作多项 ...
- CMDB与自动化运维,一切尽在掌握中?
生产力跟不上生产的速度时,就会出现很多问题,如何针对问题进行处理,制定什么样的计划,如何解决就是需要思考的难点? T运维的分类 IT运维,指的是对已经搭建好的网络,软件,硬件进行维护.运维领域也是细分 ...
- [开源] FreeSql.Tools Razor 生成器
FreeSql 经过半年的开发和坚持维护,在 0.6.x 版本中完成了几大重要事件: 1.按小包拆分,每个数据库实现为单独 dll: 2.实现 .net framework 4.5 支持: 3.同时支 ...