< titlesplit >嘿嘿,大家好,我是围棋进阶。1.数字类型数字类型用于存储数学意义上的数值。数字类型是不可变类型。所谓不可变类型,就是一旦类型的值不同了,就是一个全新的对象。数字1和2代表两个不同的对象,将变量重新分配给数字类型将创建一个新的数字对象。Python中变量和数据类型的关系。变量只是对对象的引用或代号、名称、调用等,变量本身没有数据类型的概念。像1,[2,3,4],"haha"这样的对象都有数据类型的概念。例如:a=1#创建数字对象1。a=2#创建数字对象2,并将2赋值给变量a,其中a不再指向数字对象1,改变的是变量a的指向,不是数字对象1变成了数字对象2。初学者可能会感到困惑,但没关系,我们试着理解它。二、Python支持三种不同的数值类型(整数、浮点数和复数)1、整数(Int)通常称为整数,是不带小数点的正整数或负整数。Python3整数可以用作Long类型(更长的整数),因此Python3没有Python2Long类型。例如:1、100、-8080、0等。在表示数字时,有时我们也用八进制或十六进制:十六进制用0x前缀和0-9、a-f表示,例如:0xff00、0xa5b4c3d2。八进制用0o前缀和0-7表示,例如0o12。Python整数为32位长,通常连续分配。什么是空间地址?空间地址(addressspace)表示任何计算机实体占用的内存大小。示例包括外围设备、文件、服务器或网络计算机。地址空间包括物理空间和虚拟空间。例子:print(id(-2))print(id(-1))print(id(0))print(id(1))print(id(2))从上面的空格地址来看,地址正好是A相差32。这是为什么?因为Python在初始化环境的时候会自动在内存中划分出一块空间,专门用于整型对象的访问。当然,这个空间不是无限大的,能存放的整数是有限的,所以你会看到id(0)和id(10000)之间的地址差别很大。>>>id(0)1456976928>>>id(10000)45818192小整数对象池:Python在初始化的时候会自动创建一个小整数对象池,方便我们调用,避免后期重复生成!这是一个包含262个指针数组的指针数组,这些指针指向范围在-5到256之间的整数对象。也就是说,比如整数10,即使我们没有在程序中创建它,它也已经悄悄地创建了我们在Python的后台。验证是否存在小整数对象池。程序在运行时,包括Python后台的运行环境,都会经常使用到这个范围内的整数。如果每需要一个就创建一个,无疑会增加很多开销。创建一个一直存在且永远不会被销毁的小整数对象池无疑是一种更实惠的方式。打印(id(-6))打印(id(-5))打印(id(-4))打印(id(255))打印(id(256))打印(id(257))来自id(-6)和id(257),我们可以看到小整数对象池的范围,恰好是-5到256。除了小整数对象池,Python还有整数缓冲区的概念,即刚刚被删除的integer不会立即被删除回收,而是会在后台缓存一段时间,等待下一次可能的调用。>>>a=1000000>>>id(a)45818160>>>dela#deletevariablea>>>b=1000000>>>id(b)45818160将整数1000000赋值给变量a,并查看其内存地址。然后我删除了a,新建了一个变量b,依然赋值为1000000,再看b的内存地址,和之前a中存在的一样。del是Python的delete关键字,可以删除变量、函数、类等,这一段可能感觉用处不大,但对理解Python的运行机制有很大帮助。2、浮点数(float)也是十进制数,如1.23、3.14、-9.01等。但对于很大或很小的浮点数,一般用科学计数法表示,10换成e,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等在。3.复数((complex))复数由实部和虚部组成,可用a+bj或complex(a,b)表示。复数的实部a和虚部b都是浮点型。关于复数,如果不做科学计算或者有其他特殊需要,通常很难遇到。数字类型转换:有时候,我们需要对数字类型进行转换。Python为我们提供了方便的内置数据类型转换函数。int(x):将x转换为整数。如果x是浮点数,则截去小数部分。float(x):将x转换为浮点数。complex(x):将x转换为具有实部x和虚部0的复数。complex(x,y):将x和y转换为具有实部x和虚部y的复数。如果在转换过程中有对象不能转换,就会抛出异常,比如int("haha"),你觉得我应该把字符串"haha"转换成哪个整数呢?a=10.53b=23print(int(a))print(float(a))print(complex(a))print(complex(a,b))三、数学库(数学计算)科学计算需要导入数学库,里面包含了我们可能需要的大部分库的科学计算函数,常用的函数主要有abs()、exp()、fabs()、max()、min()等,这里就不一一赘述了在这里描述。感兴趣的朋友可以百度下载。以下是两个常用的数学常数:常数说明pi数学常数pi(周长比,一般用π表示)e数学常数e,e是自然常数(naturalconstant)。下面是一些应用演示,注意最后一个角度的调用方法:importmathprint(math.log(2))print(math.cos(30))print(math.cos(60))print(math.sin(30)))print(math.sin(math.degrees(30)))print(math.sin(math.radians(30)))4.总结本文详细讲解了Python的基础知识(数字类型)。描述了Python对三种不同数字类型的支持。以及在实际操作中遇到的问题,都给出了解决方案。用丰富的案例帮助大家更好的理解,用Python编程语言方便大家更好的理解。希望对大家的学习有所帮助。我是Go高级用户。觉得还不错的话记得给个赞哦。谢谢观看!
