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核心编程》数字类型的更多相关文章

  1. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  2. 学习《Python核心编程》做一下知识点提要,方便复习(一)

    学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...

  3. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

  4. Python核心编程第二版(中文).pdf 目录整理

    python核心编程目录 Chapter1:欢迎来到python世界!-页码:7 1.1什么是python 1.2起源  :罗萨姆1989底创建python 1.3特点 1.3.1高级 1.3.2面向 ...

  5. python核心编程--笔记(不定时跟新)(转)

    的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   ...

  6. python核心编程笔记(转)

    解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   冗 ...

  7. Python核心编程(第二版)PDF

    Python核心编程(第二版) 目录 第1部分 Python核心第1章 欢迎来到Python世界1.1 什么是Python1.2 起源1.3 特点1.3.1 高级1.3.2 面向对象1.3.3 可升级 ...

  8. 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录

    目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...

  9. Python核心编程-描述符

    python中,什么描述符.描述符就是实现了"__get__"."__set__"或"__delete__" 方法中至少一个的对象.什么是非 ...

  10. Python核心编程的四大神兽:迭代器、生成器、闭包以及装饰器

      生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数后续的代码,并且返回一个值:在下一次调用该函数执行时,程 ...

随机推荐

  1. Eclipse调试程序及项目的导入导出

    Eclipse调试程序 调试概述: ①   调试就是测试程序的方法,主要的目的就是解决程序的逻辑问题,流程是:发现问题.修改问题.正确执行; ②   以前我们可以使用System.out.printl ...

  2. BZOJ4571 [Scoi2016]美味 【主席树】

    题目 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n).有 m 位顾客,第 i 位顾客的期 望值为 bi,而他的偏好值为 xi .因此,第 i 位顾客认为第 ...

  3. git统计日期之间的代码改动行数

    git log --pretty=tformat: --since ==2016-10-25 --until=2016-10-27   --numstat | awk '{ add += $1 ; s ...

  4. bzoj 3924 幻想乡战略游戏

    题目大意: 有边权点权的树,动态修改点权 每次修改后求带权重心x (\(minimize\) \(S=\sum_i val[i]*dist[x][i]\)) 分析: 从暴力找突破口: 对于边x,y,设 ...

  5. bzoj 3190 [JLOI2013]赛车 半平面交+细节处理

    题目大意 这里有一场赛车比赛正在进行,赛场上一共有N辆车,分别称为g1,g2--gn.赛道是一条无限长的直线.最初,gi位于距离起跑线前进ki的位置.比赛开始后,车辆gi将会以vi单位每秒的恒定速度行 ...

  6. hdu 6108 小C的倍数问题

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  7. 【CF733F】Drivers Dissatisfaction(最小瓶颈生成树,倍增)

    题意:给出一个图,每条边有权值和花费c,每次花费c能使的权值-1.给出一个预算,求减完权值后的一个最小生成树. 思路:感谢CC大神 有这样一个结论:最佳方案里必定存在一种,预算全部花费全部分配在一条边 ...

  8. 【BZOJ入门3189】 猜数字(数学,搜索)

    Description 味味最近在玩猜数字的游戏,现在她也希望你来玩一下这个游戏.猜数字游戏的规则是这样的,告诉你一个正整数 n(2<=n<=11),然后味味心中会想一个 n 个数字组成的 ...

  9. 你如果知道这些css常用命名,绝对事半功倍!--摘抄

    对于布局,即用.g-作为前缀,通常有以下推荐的写法 对于模块,即.m-作为前缀.元件,.u-作为前缀,通常有下面推荐的写法. 对于功能,即以.f-为前缀,通常推荐如下: 对于颜色,即以.s-为前缀,通 ...

  10. netsh配置Windows防火墙(advfirewall)

    有人可能会说,Windows防火墙有非常友好的用户界面,为什么要使用命令行界面来配置一个Windows防火墙?有 个人认为有一下原因(撇开有的人喜欢命令行不喜欢界面的 , o(∩_∩)o 哈哈) Fi ...