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数据结构之数字类型的主要内容,如果未能解决你的问题,请参考以下文章