《数值数据的表示与计算.pptx》由会员分享,可在线阅读,更多相关《数值数据的表示与计算.pptx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章 数据表示和计算1主要内容3.1 数据和数据类型的概念3.2 数值数据的表示与计算3.3 文本数据的表示和操作3.4 批量数据表示与操作2 Python的内置数据类型3简单数据类型整型 int 浮点型 float复数 complex布尔类型bool序列对象字符串str元组tuple列表list其他类型集合类型set字典类型 dict 常量和变量常量和变量标识符和变量名变量的基本操作41.常量和变量按接近人的习惯设计并加以不同数据类型的区别,是数据的“书写形式”,称为数据的文字量。这些数据是不会改变的,也称为字面常量整数389,浮点数,字符串hello,将数据存储在内存中,然后用一个名称来
2、引用内存空间,这个名称称为变量。变量的值是可以变化的。a a52.标识符和变量名标识符是指在程序书写中程序员为一些特定对象的命名,包括变量名、函数名、类名、对象名等等。Python中的标识符以大小写英文字母、下划线等引导的后续可为任意非空格字符。标识符长度任意,大小写敏感。不能与Python关键字同名。6python关键字 help()help keywordsHere is a list of the Python keywords.Enter any keyword to get more help.False def if raiseNone del import returnTrue
3、elif in tryand else is whileas except lambda withassert finally nonlocal yieldbreak for not class from or continue global pass helpquit73.变量的基本操作变量的赋值=变量的引用使用变量的方式就是将变量直接写在表达式中。x=10 y=10*x x=x+y8 数值数据的表示与计算3.2.1 数值数据的常量表示3.2.2 数值数据的计算9数值数据的常量表示1.整型数据int2.浮点型数据float3.布尔类型数据bool4.复数类型数据complex101.整型数据
4、intpython的整数的大小只受机器的内存大小限制,默认情况下采用十进制,但也可采用其它进制形式。【例3-2-1】int数据示例。0o137#八进制95 0b111#二进制7 0 xff#十六进制255 type(28346283742874)type(0o137)112.浮点型数据float小数形式指数形式表示10-4 即【例3-2-2】float数据示例。type(12)type(12.0)type(1.2e1)print(23/1.05)123.布尔类型数据boolPython的布尔类型数据只有两个:True和False,表示真和假。以真和假为值得表达式称为布尔表达式,用于表示某种条件
5、是否成立,以支持选择控制和循环控制中必不可少的条件判断。134.复数类型数据complex表示为 real+imag(J/j后缀)【例3-2-3】复数示例。aComplex()aComplex.real aComplex.imag aComplex.conjugate()#返回复数的共轭复数()14数值数据的计算1.表达式2.数值数据的运算3.表达式的求值151.表达式表达式是数据对象和运算符,按照一定的规则写出的式子,描述计算过程。最简单的表达式可以是一个常量或一个变量。例如算术表达式由计算对象、算术运算符及圆括号构成。16【例3-2-4】请列出计算半径为的球的体积。4*()/317表3-2
6、-1 数值对象的运算符数值数据可参与的运算包括算术运算、关系运算、逻辑运算,赋值运算18运算符描述x+y,x-y加、减x*y,x/y,x/y,x%y,x*y相乘、相除、整除、求余、求幂,=,=,!=比较运算符or,and,not逻辑运算符=,+=,-=,*=,/=,%=,*=赋值运算,复合赋值运算符(1)算术运算Python提供的算术运算包括加、减、乘、除和求与运算,与数学中的算术运算的定义基本相同。不同的地方有Python支持的除法区分为普通的除法和整除。19【例3-2-5】整数的除法和整除示例。x=8 y=3 x/y x/y220【例3-2-6】浮点数的除法和整除示例如下。x/y x/y2
7、1【例3-2-7】判断一个数是否是偶数。%为求余数的运算,可以通过求余运算来判断一个数是否能被另一个数整除。x=834 x%2=0True22(2)关系运算数值运算的关系表达式由数值数据和关系运算构成,得到的结果为布尔类型数据:True或False。一般形式为:23【例3-2-8】区别运算赋值=与相等=。20=20True 20=20SyntaxError:cant assign to literal x,y=10,20 x=yFalse x=y x2024【例3-2-9】级联比较形式示例。a,b,c=10,20,30 a=b y=2010(y%4=0 and y%100!=0)or(y%40
8、0=0)False y=2012(y%4=0 and y%100!=0)or(y%400=0)True y=2000(y%4=0 and y%100!=0)or(y%400=0)True283.表达式的求值计算顺序表达式可以很简单,也可能很复杂,其中包含了多个不同类型的运算符,那不同类型的运算符按照什么顺序运算呢?混合运算的类型转换在数学表达式中的数据是不分类型的,都是数值,而计算机表达式中的数据区分不同的类型,同类型数据运算得到同类型的数据,那不同类型的数据出现在同一表达式中,如何运算?29(1)计算顺序优先级算术运算符的优先级设定与数学中基本相符结合方式括号括号可以突破计算的优先级,强制地
9、规定计算顺序,括号括起部分的表达式会先行计算。运算对象求值顺序问题在一个较长的表达式中,不相邻的同级运算先算左边的对象还是右边的对象,不同的程序语言,甚至不同的系统中有不同的规定30表3-2-3 数值数据常用运算符的优先级31序号序号运算符运算符描述描述1 1+x,-x正,负2 2x*y幂3 3x*y,x/y,x%y乘,除,取模4 4x+y,x-y加,减5 5xy,x=y,xy比较6 6not x逻辑否7 7x and y逻辑与8 8x or y逻辑或(2)类型转换程序中一般同类型数据运算得到同类型的数据不同类型的数据运算时首先要转化为同一数据类型。思考:6/4*4 6/4*44两种类型转换方
10、式自动转换强制转换32自动转换系统自动完成的,不需要在程序中写出自动转换的基本原则将表示数值范围小的数据类型的值转换到表示数值范围大的数据类型的值,这样能避免由于类型转换造成的误差损失。33【例3-2-12】自动转换示例。3.0+2 type(3.0+2)34强制转换机制或显式转换在程序语句中明确类型转换的描述,要求执行类型转换。python语言提供各种类型的转换函数35表3-2-4 常用类型转换函数36函数描述int(x,base)将x转换为一个整数float(x)将x转换到一个浮点数complex(real,imag)创建一个复数str(x)将对象x转换为字符串repr(x)将对象x转换为
11、字符串unichr(x)将一个整数转换为Unicode字符ord(x)将一个字符转换为它的整数值chr(x)将一个整数转换为一个字符hex(x)将一个整数转换为一个十六进制字符串oct(x)将一个整数转换为一个八进制字符串【例3-2-10】浮点数的误差示例。从这个例子可以得到一条经验:不能用=来判断是否相等,而是要检查两个浮点数的差值是否足够小,是则认为是相等的。False abs(2.1-2.0)-0.1)espTrue37的值并没有得到,结果略小一些得到的结果又比正确的结果略大了一些系统函数1.内置模块函数名(参数序列)Int()round()len()2 非内置模块 import 模块名 import math模块名.函数(参数)math.sqrt()From 模块名 Import*from math import*函数(参数)sqrt()38