第3章 运算符与表达式ppt课件.ppt
《第3章 运算符与表达式ppt课件.ppt》由会员分享,可在线阅读,更多相关《第3章 运算符与表达式ppt课件.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 运算符与表达式第第3章章 运算符与表达式运算符与表达式对于不同的对象类型,有不同的运算和表达式。运算所使用的运算符可以理解为语言模型中的一个单词,而表达式则可以理解为一个由多个单词组成的短语(它不是一个完整的语句),就像英语中的短语(词组)一样。本章以数字类型对象为主介绍各种运算符、表达式、常用函数、对象所使用的主要方法和运算符优先级问题,同时介绍字符串类型和字节串对象。3.1 数字对象的运算数字对象的运算3.2 运算符的优先级与结合性运算符的优先级与结合性3.3 常用函数常用函数3.4 常用的字符串方法常用的字符串方法3.5 有关字节串和字节数组的方法有关字节串和字节数组的方法3.1
2、 数字对象的运算数字对象的运算所有的数字对象可以进行算术运算、关系运算、逻辑运算、移位和按位逻辑运算。3.1.1 算术运算算术运算所有的数字对象可以使用如表3-1所示的算术运算,用运算符、圆括号将对象、变量、函数等连接起来的式子称为数学表达式。在表3-1中,假定a、b为对象。运算运算意义描述意义描述运算运算意义描述意义描述a + b加法a * b乘方(ab)a - b减法a % b取余数(a mod b)a * b乘法+ a一元加法a / b除法- a一元减法a / b截取除法 表3-1 算术运算符说明: (1)截取除法(/)的结果是整数,并且整数和浮点数均可应用。(2) 除法(/):在Pyt
3、hon 2.X中,如果操作数是整数,除法结果取整数,但在Python 3.X中,结果是浮点数。(3)对浮点数来说,取余运算的结果是“a / b”的浮点数余数,即“a (a/b)*b”。(4)对于复数,取余和截取除法是无效的。示例: 100/333 100/333.333333333333336 100%31 5.5/22.0 5.5/22.75 5.5%21.5在算术表达式中,运算符的优先级(分4级)是:一元运算符、乘方、(乘法、除法、包括截取除法和取余)、加减法。3.1.2 关系运算关系运算关系运算使用表3-2的关系运算符,运算结果是True或False。关系运算in表示一个对象是否在一个集
4、合中(这里说 的集合是一个广义概念,包括列表,元组、字符串等),当然运算结果也是True或False。运算运算意义描述意义描述运算运算意义描述意义描述a = b大于等于a b大于a != b不等于x in x 在集合中? 表3-2 关系运算符注意:注意:(1)对于比较运算符,可以有更复杂的写法,如:“abc”,这相当于“ab and bc”,又如:“ac”,相当于“ac”,“a=bc”相当于“a=b and bc”。(2)不允许对复数进行比较。(3)只有当操作数是同一类型时,比较才有效。对于内置数字对象,当两个操作数类型不一致时,Python将进行类型的强制转换:当操作数之一为浮点数,则将另一
5、个操作数也转换为浮点。示例:示例: 2+3j1+2jTraceback (most recent call last): File , line 1, in TypeError: unorderable types: complex() complex() 2.52True 2+3j1Traceback (most recent call last): File , line 1, in TypeError: unorderable types: complex() int() 2.52.55False 2.5TrueTrue 2.55False关系运算符的优先级不分级,关系运算符的优先级不分
6、级,6个运算符个运算符、=、=和和!=属于同一级。在这一点上,属于同一级。在这一点上,Python语言与其它语言不同(其它语言一般定语言与其它语言不同(其它语言一般定义义、和和=是同一级,是同一级,=和和!= 是同一级)是同一级)6个关于数字的关系运算符比运算符个关于数字的关系运算符比运算符in的优先级的优先级高。高。特别注意:特别注意:当操作数是浮点数时,因为浮点数有有效位(15位)的问题,实施比较运算时,可能会出现谬论!下面的示例实际上是论证“一个数加上一个很小的数大于这个数本身”,结果由于加上的“一个很小的数”小于浮点数的表示精度,等于没有加上这个很小的数,所以出现错误结论。 1.0+1
7、.0e-161.0# 这个结论是错误的。False而: 1.0+1.0e-151.0# 这个结论是正确的。True3.1.3 逻辑运算逻辑运算逻辑运算符只有3个,它们的优先级(分3级)是:not、and、or。用逻辑运算符描述的表达式称逻辑表达式或布尔表达式。not a: 如果a为False,则返回1,否则返回0。a and b:如果a为False,则返回a,否则返回b。a or b:如果a为False,则返回b,否则返回a。注意:注意:由于逻辑运算符的结合性是从左至右,对于and运算符,只有and左边操作数为True时,才计算右边的操作数,否则,是不计算右边的操作数的。例如: s = 1,2
8、,3 10-10 and s.append(4)# and运算符左边为0,右边无动作0 s1, 2, 3# 所以,s的值不变 10+10 and s.append(4)# and运算符左边为1,右边有动作 s1, 2, 3, 4# 所以,s的值发生变化同样:同样:对于对于or运算符,只有运算符,只有or左边操作数为左边操作数为False时,才计算右边的操时,才计算右边的操作数,否则,同样是不计算右边的操作数的。作数,否则,同样是不计算右边的操作数的。3.1.4 移位和按位逻辑运算移位和按位逻辑运算移位和按位逻辑运算符仅能用于整数。它们的优先级(分5级)是:按位求反、左右移位、按位与、按位异或、
9、按位或。如表3-3所示。表3-3移位和按位逻辑运算符运算运算意义描述意义描述运算运算意义描述意义描述a b右移a b按位异或a & b按位与 a按位求反移位和按位逻辑运算假定整数以二进制补码形式表示,且符号位可以向左无限扩展。下面是实例: 13-14 hex(0 xf hex(0 x11e | 0 x2001)0 x211f3.1.5 条件表达式条件表达式Python语言中条件表达式的形式如下: if else 其中,if和else这两个关键字充当了条件表达式的运算符。表达式的计算是:先计算的值,如果这个值为True,计算,否则计算。如果条件表达式写在赋值语句里,如:y = if else 条
10、件表达式的结合性是从右至左。条件表达式的结合性是从右至左。3.1.6 标准类型操作符标准类型操作符标准类型操作符又称标准类型运算符。标准类型操作符是针对所有Python对象的,也就是说,所有Python对象都可以运用标准类型操作符来操作。它们是:关系运算符(、=、=、!=)、身份比较操作符(is、is not)和逻辑运算符(not、and、or)。3.2 运算符的优先级与结合性运算符的优先级与结合性如果在一个表达式中有多个不同的运算符,哪个运算符先执行运算?哪个运算符后执行运算?这得有一个规则。在Python语言中,所有的运算按规定的优先级操作。而结合性是指运算的计算是从左开始还是从右开始,P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 运算符与表达式ppt课件 运算 表达式 ppt 课件
限制150内