Python回顾与整理3:数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python回顾与整理3:数字相关的知识,希望对你有一定的参考价值。
Python回顾与整理3:数字
0.说明
数字用的次数是否多主要是看需求,如果是做自动化运维平台开发,比如做一个自动监控的系统,那么你肯定需要收集一定量的数据,然后再对这些数据做一定的处理,那么这时候,你就一定需要用得上数字的。当然,我这里所说的要不要用数字,指的是,你是否需要对你的数据做一定的处理。
1.数字简介
数字是不可更改类型,也就是说变更数字的值会生成新的对象。
(1)创建数值对象并用其赋值(数字对象)
>>> anInt = 1
>>> aComplex = 1.23+4.56j
(2)更新数字对象
因为数字对象是不可变对象,所以所谓的更新指的是:删除该变量原来指向的数字对象,同时生成一个新的数字对象并让该变量指向它。
>>> anInt = 1
>>> id(anInt)
35934552
>>> anInt += 1
>>> anInt
2
>>> id(anInt)
35934528
(3)删除数字对象
只要数字对象的引用计数器为零,那么该数字对象本身就会被删除。
>>> del anInt
>>> id(anInt)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ‘anInt‘ is not defined
2.整型
Python的整型分为几种:布尔型 标准整型 长整型
(1)布尔型
取值范围只有True和False。
(2)标准整型
相当于是C的(有符号)长整型,八进制数以数字“0”开始,十六进制数以“0x”或“0X”开头。
(3)长整型
末尾加上字母“L”或“l”,但建议写成大写
需要注意的是,在现在,Python的标准整型和长整型其实区分已经不明确了,已经不需要考虑是使用标准整型和长整型了,因为一旦有数据溢出的情况,Python将会自动为我们转换为长整型,即整型和长整型会慢慢统一。
3.双精度浮点数
Python中的浮点型类似C语言中的double类型,是双精度浮点型(即长浮点数),每个浮点型占8个字节,即64位,完全遵守IEEE745标准浮点数规范。(关于长浮点数的表示方法以及在计算机中的处理,可以参考计算机组成原理的相关书籍)
下面是一些合法的表示方法:
>>> 0.0
0.0
>>> -777.
-777.0
>>> 96e3 * 1.0
96000.0
>>> 4.3e25
4.3e+25
>>> 9.384e-23
9.384e-23
>>> float(12)
12.0
>>> 4.2E-10
4.2e-10
4.复数
一个复数是一对有序浮点型(x, y),表示为x + yj,其中x是实数部分,y是虚数部分。有下面的注意点:
虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数
复数由实数部分和虚数部分组成
表示虚数的语法:x + yj
实数部分和虚数部分都是浮点型
虚数部分必须有后缀j或J
根据上面的要点,要写出合法的复数就很简单了。
(1)复数的内建属性
主要是复数的实部,虚部以及它的共轭复数,如下:
>>> aComplex = 1.3 + 3j
>>> aComplex.real
1.3
>>> aComplex.imag
3.0
>>> aComplex.conjugate()
(1.3-3j)
5.操作符
Python操作符主要是指三种:标准类型操作符 数值操作符和专门的整型操作符。
(1)混合模式操作符
主要是指,当两种类型不同的数值进行运算时,Python会根据相应的规则自动帮我们作类型的强制转换,而这些规则如下:
如果有一个操作数是复数,另一个操作数则被转换为复数
否则,如果有一个操作数是浮点型,另一个操作数被转换为浮点型
否则,如果有一个操作数是长整型,另一个操作数被转换为长整型
否则,两者必须都是普通整型,无须作类型转换
(2)标准类型操作符
在《Python回顾与整理2:Python对象》中,介绍了Python标准类型的操作符,这些标准类型操作符对数值类型也是适用的,举例如下:
>>> 1 == 1
True
>>> 1 < 5 < 9
True
>>> 1 < 5 and 5 < 9
True
(3)算术操作符
这类操作符在许多编程语言中都有,如加 减 乘 除 取余和幂运算等等。部分介绍如下:
(a)除法
传统除法:
>>> 3 / 2
1
>>> 1 / 2
0
>>> 1.0 / 2.0
0.5
真正的除法:
>>> from __future__ import division
>>> 1 / 2
0.5
>>> 1.0 / 2.0
0.5
需要注意的是,__future__是Python提供新特性测试的一个包,对于可能会在以后支持的特性 ,Python都会将其归入这个包以供测试。
地板除:
>>> 1 // 2
0
>>> 1.0 // 2.0
0.0
>>> 3 // 2
1
在Python3+版本中,除法已经是真正的除法了,而不是默认的地板除,当然,如果确定是要使用地板除的,只需要使用“//”就可以了。
(2)取余
>>> 5 % 2
1
(3)幂运算
本文出自 “香飘叶子” 博客,请务必保留此出处http://xpleaf.blog.51cto.com/9315560/1751108
以上是关于Python回顾与整理3:数字的主要内容,如果未能解决你的问题,请参考以下文章