收藏 分享(赏)

Python的数字类型.ppt

上传人:jinchen 文档编号:8035519 上传时间:2019-06-05 格式:PPT 页数:13 大小:181.50KB
下载 相关 举报
Python的数字类型.ppt_第1页
第1页 / 共13页
Python的数字类型.ppt_第2页
第2页 / 共13页
Python的数字类型.ppt_第3页
第3页 / 共13页
Python的数字类型.ppt_第4页
第4页 / 共13页
Python的数字类型.ppt_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、课程提纲:Python数字类型,Python的数字类型Python表达式操作符在实际应用中的数字其他数字类型,1 Python的数字类型,在Python中,数字并不是一个真正的对象类型,而是一组类似类型的分类。Python不仅支持通常的数学类型(整数和浮点数),而且还提供了高级数学编程的支持,如复数类型、无穷精度整数类型、固定精度十进制数、集合和布尔型以及其他数字工具的库。,数字常量表现形式,2 Python表达式操作符,表达式是处理数字的最基本的工具。当一个数字(或其他对象)与操作符相结合时,Python执行时将计算得到一个值。下表列举了Python的操作符表达式。,3 在实际应用中的数字,

2、创建变量并使用基本表达式,例如: a=3 b=4 a+1,a-1 (4, 2) b*3,b/2 (12, 2) a%2,b*2 (1, 16) 2+4.0,2.0*b (6.0, 16.0) b/2+a 5 print b/(2.0+a) 0.8 c*2Traceback (most recent call last):File “, line 1, in c*2 NameError: name c is not defined,变量和基本的表达式:,3 在实际应用中的数字,计算机在处理浮点数时受硬件限制,有时无法精确地表现一些值。例如 b,a (4, 3) b/(2.0+a) 0.80000

3、000000000004 但并不是所有的值都显示这么多位数,例如 1/2.0 0.5 如果不想看到所有位数,可以使用print print b/(2.0+a) 0.8 num=1/3.0 num 0.33333333333333331 print num 0.333333333333 %e % num 3.333333e-01 %2.2f % num 0.33 repr(num) 0.33333333333333331 str(num) 0.333333333333,数字显示的格式:,3 在实际应用中的数字,传统除法(x/y)默认为真除法,总是保留小数部分 。例如 (5/2),(5/2.0),

4、(5/-2.0),(5/-2) (2, 2.5, -2.5, -3) Floor除法,例如 (5/2),(5/2.0),(5/-2.0),(5/-2) (2, 2.0, -3.0, -3) (9/3),(9.0/3),(9/3),(9/3.0) (3, 3.0, 3, 3.0)真除法总是保留小数部分,即使是应用在整数上。在以后的版本中/除法会默认为真除法,目前想使用真除法需要先通过特定的导入形式来使传统除法变为真除法。例如 from _future_ import division (5/2),(5/2.0),(5/-2.0),(5/-2) (2.5, 2.5, -2.5, -2.5) (5/

5、2),(5/2.0),(5/-2.0),(5/-2) (2, 2.0, -3.0, -3) (9/3),(9.0/3),(9/3),(9/3.0) (3.0, 3.0, 3, 3.0),除法:传统除法、Floor除法和真除法,3 在实际应用中的数字,除了一般的数据运算,Python也支持数学表达式,还可以实现位移及布尔操作 。例如 x=1 # 00000001 x x|2 # 00000011 3 x&3 # 00000001 1 位移():操作符左边的操作数以二进制位的方式向左或向右移动操作符右侧的数字位数二进制 十进制00000001 1 13 00001000 8 位或(|): 左右两边

6、操作数以二进制的形式进行位运算,同一个位置运算结果有1则为1二进制 十进制00000001 1 x|2 00000010 2 结果: 00000011 3 位与(&):右或两边操作数以二进制的形式进行位运算,同一个位置运算结果全部为1才为1二进制 十进制00000001 1 x&3 00000011 3 结果: 00000001 1,位操作:,3 在实际应用中的数字,长整型:,长整型数的表示形式是以一个常量为L结尾的数字,在Python中一个长整型数可以任意大,也就是说内存空间有多大,它就可以有多位位数字。 例如: 99999999999999999999999999999999+1 1000

7、00000000000000000000000000000L 2L*200 1606938044258990275541962092341162602522202993782792835301376L 2*200 1606938044258990275541962092341162602522202993782792835301376L,复数:,在Python中,复数是个不同的核心对象类型。复数表示为两个浮点数(实部和虚部)并接在虚部增加了j或J的后缀。复数允许我们分解出它的实部和虚部作为属性,并支持所有一般的数学表达式,它属于高级工具。例如: 1j*1J (-1+0j) 2+1j*3 (2+

8、3j) (2+1j)*3 (6+3j),3 在实际应用中的数字,十六进制和八进制记数:,Python整数能够以十六进制和八进制的记数法表示,八进制常量以数字0开头,后紧跟八进制数字。十六进制常量以0x或0X开头,后紧跟十六进制数字(0-F)。例如: 01,010,0100 (1, 8, 64) 0x01,0x10,0xff (1, 16, 255) Python也提供了内置的函数将一个整数变为八进制、十六进制的数字表示,例如: oct(64),hex(64),hex(255) (0100, 0x40, 0xff) 内置的函数int()可以把一个字符串变换为一个整数,同时还可以指定数字的进制 i

9、nt(0100),int(0100,8),int(0x40,16) (100, 64, 64) 内置的函数eval()函数也具有类似的效果,例如: eval(100),eval(0100),eval(0x40) (100, 64, 64) 最后还可以用字符串格式表达式将一个数字转换成八进制数和十六进制数的字符串。例子: “%o %x %X“ % (64,64,255) 100 40 FF,3 在实际应用中的数字,其他的内置数学工具:,除核心对象类型以外,Python还支持用于数学处理的内置函数和内置模块。例如函数int和round,分别省略浮点数的小数部分和省略保持小数点后若干位。还有就是内置

10、模块,如math模块。例如: import math math.pi,math.e #科学计数小数e (3.1415926535897931, 2.7182818284590451) math.sin(2*math.pi/180) #求正弦值 0.034899496702500969 math.sqrt(144),math.sqrt(2) #求平方根 (12.0, 1.4142135623730951) abs(-42),2*4,pow(2,4) #求绝对值和求幂 (42, 16, 16) int(2.567),round(2.567),round(2.567,2) #转换及四舍五入取整 (2

11、, 3.0, 2.5699999999999998) 使用random模块例子 import random random.random() 0.031193863487957163 random.randint(1,10) 7 random.choice(aaa,bbb,ccc,ddd) bbb,4 其他数字类型,Python中浮点数对象的数学运算在精确方面是有缺陷。针对这一方面,Python从2.4引入了一种新的核心数据类型:小数对象。它比其他数据类型复杂一些,小数对象是通过一个导入的模块调用函数创建的。而不是通过运行常量表达式创建的。从功能上来说,小数对象就像浮点数,有固定的小数位数,因此

12、有固定的精度。 例如: 0.1+0.1+0.1 0.30000000000000004 print 0.1+0.1+0.1-0.3 5.55111512313e-17 from decimal import Decimal Decimal(0.1)+Decimal(0.1)+Decimal(0.1)-Decimal(0.3) Decimal(0.0) Decimal(0.1)+Decimal(0.10)+Decimal(0.10)-Decimal(0.30) Decimal(0.00) Decimal(1) / Decimal(7) Decimal(0.14285714285714285714

13、28571429),小数数字:,4 其他数字类型,Python2.4 引入了一种新的类型-集合。虽然它是其他对象的集合,但是因为它也支持数学的集合运算,所以这里简单介绍一下它的基本用法。 集合例子1: x=set(abcde) #创建一个集合 y=set(bdxyz) x set(a, c, b, e, d) e in x True x-y set(a, c, e) x|y set(a, c, b, e, d, y, x, z) x&y set(b, d),集合:,4 其他数字类型,集合例子2: engineers=set(bob,sue,ann,vic) managers=set(tom,sue) engineers & managers set(sue) engineers | managers set(vic, sue, tom, bob, ann) engineers-managers set(vic, bob, ann),集合:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报