《Python程序设计基础03_2布尔运算ppt课件.pptx》由会员分享,可在线阅读,更多相关《Python程序设计基础03_2布尔运算ppt课件.pptx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在此输入您的封面副标题Python程序设计基础程序设计基础03_2布尔运算布尔运算杭州师范大学杭州师范大学 虞歌虞歌 第第2页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构杭州师范大学杭州师范大学 虞歌虞歌 第第3页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构布尔值:布尔值:True(表示(表示“真真”)、)、False(表示(表示“假假”),它们都是关键字。),它们都是关键字。布尔类型被用来代表布尔值。存放布尔值的变量被称为布尔变量。布尔类型被用来代表布尔值。存放布尔值的变量被称为布尔变量。在计算机内部,在计算机内部,Python使用使用1来表示来表
2、示True,使用,使用0来表示来表示False。可以使用可以使用int函数将布尔值转换为整数。函数将布尔值转换为整数。也可以使用也可以使用bool函数将整数转换为布尔值。函数将整数转换为布尔值。杭州师范大学杭州师范大学 虞歌虞歌 第第4页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构关系运算符用来表示两个操作数之间的大小或相等关系运算符用来表示两个操作数之间的大小或相等关系。关系。注意注意区分赋值运算符区分赋值运算符“= =”和关系运算符和关系运算符“=”。杭州师范大学杭州师范大学 虞歌虞歌 第第5页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构用关系运
3、算符将两个表达式连接起用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表来的式子称为关系表达式。关系表达式值为布尔值,关系成立,为达式值为布尔值,关系成立,为True,表示,表示“真真”;关系不成立,;关系不成立,为为False,表示,表示“假假”字符串比较字符串比较实际上是对字符编码实际上是对字符编码的比较。在的比较。在ASCII字符集中,字符集中,a的的ASCII码是码是97,b的的ASCII码码是是98,97 98的值的值为为False杭州师范大学杭州师范大学 虞歌虞歌 第第6页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构一般使用下列表达式判断一般使用下列
4、表达式判断x和和y是否相等:是否相等:变量变量x和和y近似值相等,精确值不相近似值相等,精确值不相等。利用等。利用x和和y差值的绝对值的精度差值的绝对值的精度是否在允许的误差内来判断是否在允许的误差内来判断x和和y是是否相等。否相等。应该避免直接对浮点数进行等于应该避免直接对浮点数进行等于“=”比较,比较,浮点数的误差浮点数的误差可能造成可能造成两个本来应该相等的浮点数不相等。两个本来应该相等的浮点数不相等。杭州师范大学杭州师范大学 虞歌虞歌 第第7页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构成员关系运算符成员关系运算符in/not in用来判断用来判断某个元素某个元素
5、是否属于某个序列,返回是否属于某个序列,返回True或或False。杭州师范大学杭州师范大学 虞歌虞歌 第第8页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构对象身份运算符对象身份运算符is/is not用来判断用来判断两两个对象是否是同一个对象,返回个对象是否是同一个对象,返回True或或False。注意注意区分对象身份运算符区分对象身份运算符“is”和关系运算符和关系运算符“=”。is判断的是判断的是a对象是否就是对象是否就是b对象,是通过对象,是通过id来判断来判断的。的。a is b等价于等价于id(a) = id(b)。=判断的是判断的是a对对象的值是否和象的值是
6、否和b对象的值对象的值相等。相等。杭州师范大学杭州师范大学 虞歌虞歌 第第9页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构对于对于小整数(小整数(-5, 256之间所有的整数),为了减少小整数对象的重复创之间所有的整数),为了减少小整数对象的重复创建,建,Python引入了小整数常量池引入了小整数常量池。对于对于小整数(小整数(-5, 256之间所有的整数)之外的其他整数,之间所有的整数)之外的其他整数,Python则不进则不进行处理。行处理。x和和y指向小整数指向小整数常量池中同一个常量池中同一个整数对象(值相整数对象(值相等),它们的等),它们的id也是相同的。也是相
7、同的。a和和b指向不同的整指向不同的整数对象(值相等),数对象(值相等),它们的它们的id是不同的。是不同的。杭州师范大学杭州师范大学 虞歌虞歌 第第10页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构同样,对于字符串,同样,对于字符串,为了为了减少字符串对象减少字符串对象的重复创建,的重复创建,Python引入引入了了字符串字符串常量常量池池。若若字符串含有字母、数字、下划线之外的其他字符,字符串含有字母、数字、下划线之外的其他字符,Python则不进行处理。则不进行处理。杭州师范大学杭州师范大学 虞歌虞歌 第第11页页Python程序设计基础程序设计基础程序的控制结构程
8、序的控制结构三种逻辑运算三种逻辑运算符:符:逻辑非:逻辑非:not逻辑与:逻辑与:and逻辑逻辑或:或:or用逻辑运算符将关系表达式或布尔值连接起来的式子称为逻辑表达式。逻辑用逻辑运算符将关系表达式或布尔值连接起来的式子称为逻辑表达式。逻辑表达式的值也为布尔表达式的值也为布尔值。值。真值表真值表:abnot aa and ba or bTrueTrueFalseTrueTrueTrueFalseFalseFalseTrueFalseTrueTrueFalseTrueFalseFalseTrueFalseFalse杭州师范大学杭州师范大学 虞歌虞歌 第第12页页Python程序设计基础程序设计基
9、础程序的控制结构程序的控制结构逻辑运算符逻辑运算符“and”和和“or”具有具有“短路短路”特性。特性。对于对于a and b,当,当a为为False时,结果为时,结果为False,不必再计算,不必再计算b;仅当;仅当a为为True时,才时,才需计算需计算b。对于对于a or b,当,当a为为True时,结果为时,结果为True,不必再计算,不必再计算b,仅当,仅当a为为False时,才需时,才需计算计算b。德德摩根摩根定律。定律。not (condition1 and condition2) 等价于等价于 not condition1 or not condition2not (condit
10、ion1 or condition2) 等价于等价于 not condition1 and not condition2判断判断x和和y不不同时为同时为0的逻辑表达式:的逻辑表达式:not (x = 0 and y = 0) 更好的写法是:更好的写法是:x != 0 or y != 0杭州师范大学杭州师范大学 虞歌虞歌 第第13页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构简化条件简化条件对于:对于:x 10 and x = 20,可以简化为:,可以简化为:10 x = 20对于:对于:x 20,可以简化为:,可以简化为:not (10 x b c转换为转换为a b an
11、d b c来计算的。来计算的。杭州师范大学杭州师范大学 虞歌虞歌 第第14页页Python程序设计基础程序设计基础程序的控制结构程序的控制结构运算符的优先级和结合性决定了运算符的计算顺序运算符的优先级和结合性决定了运算符的计算顺序最先计算圆括号内的表达式最先计算圆括号内的表达式计算没有圆括号的表达式时,计算没有圆括号的表达式时,遵循遵循下表中的优先级(同一行中优先级相同)和结合性下表中的优先级(同一行中优先级相同)和结合性优先级优先级运算符运算符结合性结合性高*(幂) 左结合+、-(正号、符号)右结合*、/、/、%(乘、除、整除、余数)左结合+、-(加、减)左结合in、not in、is、is not、=、=、!=(关系运算)左结合not(逻辑运算)右结合and(逻辑运算)左结合or(逻辑运算)左结合条件表达式左结合低=、+=、-=、*=、/=、/=、%=(赋值运算)右结合