Python数据结构之数字类型

Posted 重启试试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据结构之数字类型相关的知识,希望对你有一定的参考价值。

数字类型

  • 种类

  • 数字类型的关系

  • 数字类型转换

  • 数字运算

  • 数学函数

  • 随机数函数

  • 三角函数

  • 数学常量

一、种类

整数型(int)

  整数型定义上也可成短整型,理论上有范围的限制,取值范围为:在32位机器上int的范围是:  -2**31~2**31-1,即-2147483648~2147483647

在64位机器上int的范围是: -2**63~2**63-1,即-9223372036854775808~9223372036854775807,如果超过这个范围就可以使用长整型,不过必须在结尾写上大写的“L”,小写也可以,为了避免与1混淆,建议用L

  需要注意的是:

  上述中的int理论范围取值是参考的C语言整数范围。在实际的环境中,int范围并没有固定,我们用上述所说64位最大值乘1000测试一下;

  实例如下:

>>> print(9223372036854775807 * 1000)
9223372036854775807000

  我们发现并没有出错,实际上是因为发生溢出,Python3会自动将整数数据转换为长整数!这点还是需注意的。

  Python中的整数不仅可以用十进制表示,也可以用八进制和十六进制表示。

  当用二进制表示整数时,数值前面要加上一个前缀【0b或0B】用来表示是二进制数据

  当用八进制表示整数时,数值前面要加上一个前缀【0o或0O】用来表示是八进制数据

  当用十六进制表示整数时,数字前面要加上一个前缀【0x或0X】用来表示是十六进制数据

  例如:我们这里将整数15分别以八进制和十六进制和二进制的形式赋给整型变量a、b、c,然后再以十进制的形式输出它们

>>> a = 0o17
>>> b = 0xf
>>> c = 0b00001111 >>> print(a,b,c) 15 15 15

  int内置函数:

  1.bit_length(self)

  说明:表示返回该数字的二进制占用的最小位数;

  语法:int.bit_length()

  返回值:返回该数字的二进制占用的最小位数;

  实例:

>>> int_bit = 30
>>> print(int_bit.bit_length())
5

#说明 30的最小位二进制为 11101

 

  2.conjugate(self, *args, **kwargs)

  说明:返回该复数的共轭复数;

 

 

 

 

 

 

 

长整型(long)

  跟C语言不同,Python的长整数没有指定位宽,也就是说Python没有限制长整数数值的大小,但是实际上由于机器内存有限,所以我们使用的长整数数值不可能无限大。

  在使用过程中,我们如何区分长整数和整数数值呢?通常的做法是在数字尾部加上一个大写字母L或小写字母l以表示该整数是长整数的,如:

  a = 6812347598L
  b = 6812347598l

  可能已经发现,小写字母l和数字1看上去很难区分,所以一般推荐使用大写字母L。

  注意:

  自从Python2.2起,如果发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。所以也就不区分整型和长整型了,此知识点了解即可。

浮点型(float)

  浮点数用来处理实数,即带有小数的数字。实数有两种表示形式,一种是十进制数形式,它由数字和小数点组成,并且这里的小数点是不可或缺的,如1.23,123.0,0.0等;另一种是指数形式,比如789e3或789E3表示的都是789×103,字母e(或E)之前必须有数字,字母e(或E)之后可以有正负号,表示指数的符号,如果没有则表示正号;此外,指数必须为整数。

  浮点型使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

复数(complex)

  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。注意,虚数部分的字母j大小写都可以,如5.6+3.1j,5.6+3.1J是等价的。

2.数字类型的关系

  三种数字类型存在一种逐渐“扩展”关系:整数–>浮点数–>复数 

  不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型,比如:23+4.0=127.0 (整数+浮点数=浮点数)

3.数据类型的转换

  有时候,我们需要对数据内置的类型进行转换、数据类型的转换,只需要将数据类型作为函数名即可。

  函数:

  int(x)         把括号里的x转换为整型;

  float(x)      把括号里的x转换为浮点型;

  complex(x)  把括号里的x转换成复数;

  例如:

--------------- 将字符串类型的666转换为整型-----------------------

>>> print(type(int("666")))
<class \'int\'>


---------------将字符串类型的666转换为浮点型---------------------

>>> print(type(float("666")))
<class \'float\'>
>>> print(float("666"))
666.0


--------------将字符串类型的666转换为复数------------------------

>>> print(complex("666"))
(666+0j)

4.数字运算

  请参考运算符章系

5.数学函数

6.随机函数

  随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

7.三角函数

8.数学常量

 

以上是关于Python数据结构之数字类型的主要内容,如果未能解决你的问题,请参考以下文章

python 数据类型 之 数字类型

Python数据结构之数字类型

python-基本数据类型之数字

python 数据类型之数字

Python数据类型之“数字(numerics)”

Python基础之基本数据类型