Python数据类型-2 数字类型

数字类型

数字类型是不可变类型。所谓的不可变类型,指的是类型的值一旦有不同了,那么它就是一个全新的对象。数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新建一个数字对象。

还是要强调一下Python的变量和数据类型的关系,变量只是对某个对象的引用或者说代号、名字、调用等等,变量本身没有数据类型的概念 。只有1,[1,2],"hello"这一类对象才具有数据类型的概念。

Python 支持三种不同的数字类型,整数、浮点数和复数。

整数
通常被称为整型,数值为正或者负,不带小数点。python 3的整型可以当做Long类型使用,所以python 3 没有python 2的Long类型。

表示数字的时候,有时我们还会用八进制或十六进制来表示:

十六进制用0x前缀和0-9,a-f表示,例如:0xff00

八进制用0o前缀和0-7表示,例如0o45

python的整数长度为16,32位,并且通常是连续分配内存空间的。

id(-2)
505205760
id(-1)
505205776

从上面的空间地址看,地址之间正好差16,32。

小整数对象池
python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!这是一个包含262个指向整数对象的指针数组,范围是-5到256。也就是说比如整数10,即使我们在程序里没有创建它,其实在Python后台已经悄悄为我们创建了。

为什么要这样呢?我们都知道,在程序运行时,包括Python后台自己的运行环境中,会频繁使用这一范围内的整数,如果每需要一个,你就创建一个,那么无疑会增加很多开销。创建一个一直存在,永不销毁,随用随拿的小整数对象池,无疑是个比较实惠的做法。

id(-6)
10114720
id(-5)
496751568
id(255)
496755728

从id(-6)和id(257)的地址,我们能看出小整数对象池的范围,正好是-5到256。

除了小整数对象池,Python还有整数缓冲区的概念,也就是刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。

a = 100
id(a)
503175776
del a # 删除变量a
b = 100
id(b)
503175776

a = 10;print(id(a));del a;b = 10;print(id(b))  # 在Python交互环境中不能实现。

上面,我给变量a赋值了整数100,看了一下它的内存地址。然后我把a删了,又创建个新变量b,依然赋值为100,再次看下b的内存地址,和以前a存在的是一样的。

浮点数
浮点数也就是小数,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,一般用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

复数(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")

数学计算

对于数学计算,除了前面提到过的简单的加减乘除等等,更多的科学计算需要导入math这个库,它包含了绝大多数我们可能需要的科学计算函数,如下表

函数                     返回值 ( 描述 )
abs(x)                  返回数字的绝对值,如abs(-10) 返回 10
ceil(x)                 返回数字的上入整数,如math.ceil(4.1) 返回 5
exp(x)                  返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)                 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)                返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)                  如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)                返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...)         返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)         返回给定参数的最小值,参数可以为序列。
modf(x)                 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)               x**y 运算后的值。
round(x [,n])           返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)                 返回数字x的平方根
acos(x)                 返回x的反余弦弧度值。
asin(x)                 返回x的反正弦弧度值。
atan(x)                 返回x的反正切弧度值。
atan2(y, x)             返回给定的 X 及 Y 坐标值的反正切值。
cos(x)                  返回x的弧度的余弦值。
hypot(x, y)             返回欧几里德范数 sqrt(xx + yy)
sin(x)                  返回的x弧度的正弦值。
tan(x)                  返回x弧度的正切值。
degrees(x)              将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)              将角度转换为弧度

原文地址:https://www.cnblogs.com/sakura579/p/12243483.html

时间: 2024-08-11 09:53:11

Python数据类型-2 数字类型的相关文章

Python 数据类型 之 数字类型

python的数字类型有:int,long,float,complex,bool (0:False, 1:True) Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的.对于

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

[转]Python数据类型之“数字(numerics)” 上一节内容说的是“Python基本语法”,本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个存放位置通过变量名可以找到: 在内存中的存放方式:这个由数据类型决定,如占几个字节的空间.占用空间是否需要连续等. Python中有很多内置类型(built-in types),内置类型可以理解为构建在Python Interpreter(Python解释器)里面的类型.Python中主要的内置类型

云计算开发教程:Python数据类型之数字

今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:Python数据类型之数字. 变量是存储在内存中的值,也就是说在创建变量时会在内存中开辟一个空间. 计算机是用来辅助人类的,在程序设计中也映射了显示世界的分类,以便于抽象的分析. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符 PYTHON有五个标准的数据类型:Numbers(数字) String(字符串) List(列表) Tuple(元组

python 数据类型之数字

一.数字类型 Python 支持多种数字类型,包括:整型.长整型.布尔型.双精度浮点型.十进制浮点型. 复数. 1.整型:最通用的数字类型,在32位机上,范围 -2147483648 - 2147483647 (即 -231 - 231-1 ) 2.布尔型:只有两个取值,True 和 False 3.长整型: 用大写字母 "L" 表示  (整型和长整形统一,当数值大写超出整型的范围时,不再溢出,而是自动转化为长整形) 4.双精度: 类似C中的double,可以十进制或者科学计数法表示,

python第二周 数字类型

数字类型 Python中,数字并不是一个真正的对象类型,而是一组类似类型的分类.Python不仅支持通常的数字类型(整数和浮点数),而且能够通过常量去直接创建数字以及处理数字的表达式,还通过模块和第三方库提供更多的数字类型支持.Python数字类型的完整工具包括: 整数和浮点数 复数(需要模块支持) 固定精度的十进制数 有理分数 集合 布尔类型 无穷的整数精度 各种数字内置函数和模块 处理数字对象的工具: 表达式操作符:+.-.*././/.>>.**.& 内置数学函数:pow.abs

Python数据结构之数字类型

数字类型 种类 数字类型的关系 数字类型转换 数字运算 数学函数 随机数函数 三角函数 数学常量 一.种类 整数型(int) 整数型定义上也可成短整型,理论上有范围的限制,取值范围为:在32位机器上int的范围是:  -2**31-2**31-1,即-2147483648-2147483647 在64位机器上int的范围是: -2**63-2**63-1,即-9223372036854775808-9223372036854775807,如果超过这个范围就可以使用长整型,不过必须在结尾写上大写的

python中,数字类型计算

说明: 今天在看python数字类型的操作,在此记录下. 操作过程: 1.数字的加减乘除 >>> 2 + 24>>> 4 - 22>>> 2 - 4-2>>> 2 * 24>>> 2 / 2 #除法的结果会返回小数的结果,如果是整除,小数点后面就是01.0>>> 1 / 30.3333333333333333 #1除以3除不尽,小数点后面是无限循环.>>> 2 / 0Traceba

Python入门之数字类型运算

Python数字类型有整数类型了.浮点数类型和复数类型.分别对应整数.实数和复数. 整数:    除十进制以外,其他进制需要前加引导符号如:二进制(bit)0b101 或 0B101:八进制(octonary)0o711 或 0O711:十六进制(hexadecimal) 0xABC  或 0XABC 本节课此部分还介绍了pow()函数. 浮点数:所有浮点数必须带有小数部分,浮点数有十进制表示和科学计数法表示.科学计数法形式<a>e<b> = a*10b 如4.3e-3 = 0.0

以写代学:python 数据类型之数字,标准类型函数

标准类型函数 (1)cmp(num1,num2):比较两个数的大小,第一个数大返回正值,反之负值,相等为0,要是比较字符串,比较的是第一个字符,而且是根据字母对应的ascll码决定的 (2)abs(num):返回给定参数的绝对值 (3)divmod(num1,num2):把除法和取余运算结合起来,返回一个包含商和余数的元组 (4)pow(num1,num2):进行指数运算 (5)round(num.0 / num,保留位数):四舍五入,最后一位为保留的位数 (6)仅用于整数的函数 hex():转