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)布尔型

取值范围只有TrueFalse


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

  • 实数部分和虚数部分都是浮点型

  • 虚数部分必须有后缀jJ

根据上面的要点,要写出合法的复数就很简单了。

1)复数的内建属性

主要是复数的实部,虚部以及它的共轭复数,如下:

>>> aComplex = 1.3 + 3j

>>> aComplex.real

1.3

>>> aComplex.imag

3.0

>>> aComplex.conjugate()

(1.3-3j)


5.操作符


Python操作符主要是指三种:标准类型操作符 数值操作符和专门的整型操作符


1)混合模式操作符

主要是指,当两种类型不同的数值进行运算时,Python会根据相应的规则自动帮我们作类型的强制转换,而这些规则如下:

  • 如果有一个操作数是复数,另一个操作数则被转换为复数

  • 否则,如果有一个操作数是浮点型,另一个操作数被转换为浮点型

  • 否则,如果有一个操作数是长整型,另一个操作数被转换为长整型

  • 否则,两者必须都是普通整型,无须作类型转换


2)标准类型操作符

在《Python回顾与整理2Python对象》中,介绍了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:数字的主要内容,如果未能解决你的问题,请参考以下文章

Python回顾与整理6:条件和循环

Python回顾与整理12:执行环境

Python回顾与整理5:映像和集体类型

Python回顾与整理4:序列(字符串/列表/元组)

python基础回顾

面向对象知识点回顾整理