python3 第八章 - 数据类型之Number(数字)

栏目: Python · 发布时间: 6年前

内容简介:python3 第八章 - 数据类型之Number(数字)

Python 支持三种不同的数字类型:

  • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python 3 没有 Python2 的 Long 类型。
  • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)。之所以称为浮点数是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
  • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。 点击此处查阅复数的概念

我们用 id() 这个函数来输出变量所引用的地址:

var1 = 100
print(id(var1))

var1 = 200
print(id(var1))

以上代码,输出:

你会发现,orz,两次的内存地址都不想同的。由此可以看出,Python 数字数据类型用于存储数值,数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

以下实例在变量赋值时 Number 对象将被创建:

var1 = 1
var2 = 10

您也可以使用del语句删除一些数值对象的引用。del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

多个要删除的对象之前用逗号“ ”隔开,例如:

var1 = 1
var2 = 10

del var1, var2

计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀(小写的x或者或者大写的X都可以)和0~9,a~f表示,例如: 0xf00xabc123 ,八进制用0o前缀(小写的o或者大写的O都可以)和0~7,例如: 0o37

number = 0xA0F  # 十六进制
number2 = 0o37  # 八进制

print(number)
print(number2)

以上代码,输出:

思考,如何用程序来实现10进制转2进制、8进制、16进制、任意进制?

数值类型的举例

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3+e18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2-E12 4.53e-7j

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

  • int(x) 将x转换为一个整数。
  • float(x) 将x转换到一个浮点数。
  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
a = 1.0
print(int(a))

以上代码,输出

注意:在不同的机器上浮点运算的结果可能会不一样。

在整数除法中,除法(/)总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 // :

print(17 / 3)  # 整数除法返回浮点型
print(17 // 3)  # 整数除法返回向下取整后的结果
print(17 % 3)  # %操作符返回除法的余数

以上代码,输出:

5.666666666666667
5
2

可以使用 ** 操作来进行幂运算:

print('5的平方:', 5 ** 2)
print('5的3次方:', 5 ** 3)

以上代码,输出:

5的平方: 25
5的3次方: 125

不同类型的数混合运算时会将整数转换为浮点数:

print('3 * 3.75 / 1.5 的值:', 3 * 3.75 / 1.5)

以上代码,输出:

3 * 3.75 / 1.5 的值: 7.5

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Software Engineering for Internet Applications

Software Engineering for Internet Applications

Eve Andersson、Philip Greenspun、Andrew Grumet / The MIT Press / 2006-03-06 / USD 35.00

After completing this self-contained course on server-based Internet applications software, students who start with only the knowledge of how to write and debug a computer program will have learned ho......一起来看看 《Software Engineering for Internet Applications》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具