숫자형은 수학적 의미에서 숫자값을 저장하는데 사용됩니다.
숫자 유형은 변경할 수 없는 유형입니다. 소위 불변 유형은 유형의 값이 달라지면 완전히 새로운 객체가 된다는 것을 의미합니다. 숫자 1과 2는 각각 두 개의 서로 다른 개체를 나타냅니다. 변수를 숫자 유형에 다시 할당하면 새로운 숫자 개체가 생성됩니다.
변수는 단지 객체나 코드명, 이름, 호출 등에 대한 참조일 뿐입니다. 변수 자체에는 데이터 유형의 개념이 없습니다. 1, [2, 3, 4]와 유사하게 "하하"와 같은 객체만이 데이터형의 개념을 갖는다.
예:
a = 1 # 创建数字对象1。 a = 2 # 创建数字对象2,并将2赋值给变量a,a不再指向数字对象1
여기서 변경된 것은 디지털 객체 1이 아닌 변수 a의 포인터가 디지털 객체 2입니다. 초보자들은 헷갈릴 수도 있지만, 상관없습니다. 이해하려고 노력합니다.
는 일반적으로 정수라고 하며 양수 또는 음수입니다. 정수, 소수점 없음. Python3의 정수 유형은 Long 유형(더 긴 정수 유형)으로 사용될 수 있으므로 Python3에는 Python2의 Long 유형이 없습니다.
예: 1, 100, -8080, 0 등
숫자를 표현할 때 때로는 8진수나 16진수도 사용합니다.
16진수는 0x 접두어와 0-9, a-f로 표시됩니다(예: 0xff00, 0xa5b4c3d2).
8진수는 접두사 0o와 0-7(예: 0o12)로 표시됩니다.
Python의 정수 길이는 32비트이며, 메모리 공간은 일반적으로 연속적으로 할당됩니다.
空间地址(address space)表示任何一个计算机实体所占用的内存大小。比如外设、文件、服务器或者一个网络计算机。地址空间包括物理空间以及虚拟空间。
例 :
print(id(-2)) print(id(-1)) print(id(0)) print(id(1)) print(id(2))
从上面的空间地址看,地址之间正好差32。为什么会这样?
因为Python在初始化环境的时候就在内存里自动划分了一块空间,专门用于整数对象的存取。当然,这块空间也不是无限大小的,能保存的整数是有限的,所以你会看到id(0)和id(10000)之间的地址差别很大。
>>> id(0) 1456976928 >>> id(10000) 45818192
Python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!
这是一个包含262个指向整数对象的指针数组,范围是-5到256。也就是说比如整数10,即使我们在程序里没有创建它,其实在Python后台已经悄悄为我们创建了。
验证一下小整数对象池的存在
在程序运行时,包括Python后台自己的运行环境中,会频繁使用这一范围内的整数,如果每需要一个,你就创建一个,那么无疑会增加很多开销。创建一个一直存在,永不销毁,随用随拿的小整数对象池,无疑是个比较实惠的做法。
print(id(-6)) print(id(-5)) print(id(-4)) print(id(255)) print(id(256)) print(id(257))
从id(-6)和id(257)的地址,我们能看出小整数对象池的范围,正好是-5到256。
除了小整数对象池,Python还有整数缓冲区的概念,也就是刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。
>>> a = 1000000>>> id(a)45818160>>> del a # 删除变量a>>> b = 1000000>>> id(b)45818160
给变量a赋值了整数1000000,看了一下它的内存地址。然后我把a删了,又创建个新变量b,依然赋值为1000000,再次看下b的内存地址,和以前a存在的是一样的。
del
是Python的删除关键字,可以删除变量、函数、类等等。
这一段内容,可能感觉没什么大用,但它对于理解Python的运行机制有很大帮助。
부동 소수점 수는 1.23, 3.14, -9.01 등과 같은 소수입니다. 그러나 매우 크거나 매우 작은 부동 소수점 숫자의 경우 일반적으로 과학적 표기법으로 표현됩니다. 10을 e로 바꾸고, 1.23x10^9는 1.23e9 또는 12.3e8, 0.000012는 1.2e-5로 쓸 수 있습니다.
복소수는 실수부와 허수부로 구성되거나, 실수부(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))
科学计算需要导入math
这个库,它包含了绝大多数我们可能需要的科学计算函数,一般常用的函数主要包括abs()、exp()、fabs()、max()、min()等,这里就不再赘述了,感兴趣的小伙伴可以自行百度下。
下面是两个常用数学常量:
상수 | 설명 |
---|---|
pi | Ma 주제 상수 파이(pi, 일반적으로 π로 표현됨) |
e | 수학적 상수 e, e는 자연상수(natural Constant)입니다. |
下面是一些应用展示,注意最后的角度调用方式:
import mathprint(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)))
<br/>
本文详细的讲解了Python基础 ( 数字类型 )。介绍了有关Python 支持三种不同的数字类型。以及在实际操作中会遇到的问题,提供了解决方案。
위 내용은 一文带你搞懂Python数据类型之数字类型의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!