版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运算符和表达式《Python编程基础与应用》配套课件本课件为《Python编程基础与应用(第2版)》配套教学资源,由编写团队精心打造。为便于教学使用,团队同步提供了丰富的辅助材料,涵盖微课视频、教学课件、实训手册、习题答案、课程标准及程序源代码等。同时,教材配套超星教学示范包,支持一键克隆为网络在线课程,助力高效开展线上线下混合式教学。欢迎联系出版方订购使用。
书名:《Python编程基础与应用(第2版)》出版社:机械工业出版社主编:蓝永健、陈冬冬副主编:蔡德琛、朱海鑫、邓爱玲+contents目录算术运算符和表达式比较运算符和表达式位算符和表达式逻辑运算符和表达式成员运算符和表达式算术运算符和表达式01算术运算符和表达式算术运算符包括+、-、*、/、//、%和**,这些运算符都是双目运算符,每个运算符可以与两个操作数组成一个表达式。以操作数a=3,b=5为例说明如下。运算符描述实例+加:两个对象相加a+b输出结果8-减:得到负数或是一个数减去另一个数a-b输出结果-2*乘:两个数相乘或是返回一个被重复若干次的字符串a*b输出结果15/除:x除以yb/a输出结果1.6666666666666667%取模:返回除法的余数b%a输出结果2**幂:返回x的y次幂a**b为3的5次方,是243//取整除:向下取接近商的整数>>>9//24>>>-9//2-5算术运算符和表达式转换遵循
的规律Python在对不同类型的对象进行运算时,会强制将对象的类型进行临时类型转换,这些转换遵循如下规律:1)布尔类型进行算术运算时,被视为数值0或1;2)整型与浮点型运算时,将整型转化为浮点型;3)其它类型与复数运算时,将其它类型转换为复数类型。算术运算符和表达式注意事项在算术运算符中,除、取模,取整除是经常会使用的,不要混淆了它们的作用。在判断数字是否偶数或者奇数时,可以使用取模运算,看结果的余数是否为0。如果是余数0,则是偶数。如4%2结果是0,5%2的结果是1。算术运算符举例scores=[85,90,78]average=sum(scores)/len(scores)#84.333...print(f"平均分:{average:.2f}")除法/:计算平均分(保留小数)total_items=47items_per_page=10total_pages=(total_items+items_per_1)//items_per_page#5页print(f"需要页数:{total_pages}")整除//:分页计算(每页显示10条数据)算术运算符举例number=17ifnumber%2==0:print("偶数")else:print("奇数")#输出:奇数取模%:判断奇偶性或周期性任务principal=10000rate=1.05#5%年利率years=3amount=principal*(rate**years)#11576.25print(f"3年后本息和:¥{amount:.2f}")幂运算**:计算复利增长算术运算符举例#先乘除后加减result=2+3*4#14(非20)#使用括号明确优先级result=(2+3)*4#20运算符优先级注意事项seconds=125minutes=seconds//60#2seconds_remain=seconds%60#5类型转换://和%结合可分离整数和小数部分比较运算符和表达式02算术运算符和表达式比较运算符有:==、!=、>、<、>=、<=。比较运算符同样是双目运算符,它与两个操作数构成一个表达式。以操作数a=3,b=5为例,其功能与示例如表2-3。运算符描述实例==等于:比较对象是否相等(a==b)返回False!=不等于:比较两个对象是否不相等(a!=b)返回True>
大于:返回x是否大于y(a>b)返回False<
小于:返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的首字母大写。(a<b)返回True>=大于等于:返回x是否大于等于y。(a>=b)返回False<=小于等于:返回x是否小于等于y。(a<=b)返回True注意事项=和==的区别错误示例:误用赋值运算符“=”代替比较运算符“==”x=5ifx=5:#语法错误!本意是x==5print("等于5")#修正:必须使用==进行比较。注意事项浮点数比较的精度问题易错场景:直接比较浮点数可能因精度问题导致意外结果0.1+0.2==0.3#理论上为True,但实际输出可能是False原因:浮点数在计算机中存储有精度损失。正确做法:使用math.isclose()或允许微小误差:importmathmath.isclose(0.1+0.2,0.3)#True注意事项is与==的区别易混淆点:is比较对象身份(内存地址),==比较值a=[1,2]b=[1,2]print(a==b)#True(值相同)print(aisb)#False(不同对象)#注意:仅在需要检查是否为同一对象时使用is。注意事项None的比较正确方式:必须用is或isnot比较Nonevalue=Noneprint(valueisNone)#Trueprint(value==None)#虽然能运行,但不推荐注意事项布尔值的隐式比较易错点:布尔值是int的子类,True==1和False==0print(True==1)#True(可能引发逻辑错误)位算符和表达式03位算符和表达式按位运算符是把数字看作二进制来进行计算的。以操作数a=3,b=5为例,运算符描述实例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a&b)输出结果1,二进制解释:00000001|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a|b)输出结果7,二进制解释:00001111^按位异或运算符:当两对应的二进位相异时,结果为1(a^b)输出结果6,二进制解释:00000110~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x
类似于
-x-1(~a)输出结果-4,二进制解释:10000100,在一个有符号二进制数的补码形式。<<
左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。a<<2输出结果12,二进制解释:00001100>>
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数a>>2输出结果0,二进制解释:00000000位算符和表达式按位运算符是把数字看作二进制来进行计算的。以操作数a=3,b=5为例,运算符名称示例(以
5
和
3
为例)二进制计算过程结果(十进制)&按位与5&30101&0011=00011|按位或5|30101|0011=01117^按位异或5^30101^0011=01106~按位取反~5~0101=1010(补码)-6<<
左移5<<10101
→
101010>>
右移5>>10101
→
00102位运算符的理解&(与):两位都为1时结果才为1(类似逻辑“且”)。print(5&3)#0101&0011=0001→1|(或):任一位为1则结果为1(类似逻辑“或”)。print(5|3)#0101|0011=0111→7位运算符的理解^(异或):两位不同时结果为1(相同为0)。print(5^3)#0101^0011=0110→6~(取反):所有位取反(0变1,1变0),结果依赖补码表示。print(~5)#~0101=1010(补码表示-6)位运算符的理解<<(左移):二进制位向左移动,右侧补0(相当于乘以2^n)。print(5<<1)#0101→1010→10(5*2=10)>>(右移):二进制位向右移动,左侧补符号位(相当于整除2^n)。print(5>>1)#0101→0010→2(5//2=2)位运算符的快速记忆技巧&:像乘法(1&1=1,其他情况=0)。|:像加法(有1则1)。^:相同得0,不同得1。<<:左移=数值×2,右移=数值÷2(取整)。位运算符直接操作二进制位,适合底层优化。初学者只需掌握:&|^的逻辑与、或、异或。<<>>的移位相当于乘除2。~取反时注意补码表示。位算符举例:按位或运算的详细过程在Python中,按位或运算符|用于对两个整数的二进制表示逐位进行逻辑或(OR)运算。其规则如下:对于每一位,如果两个操作数的对应位中至少有一个为1,则结果的该位为1;否则为0。a=5#二进制:0101b=3#二进制:0011result=a|b#二进制:0111(十进制:7)print(result)#输出:7位算符举例:按位或运算的详细过程详细步骤(1)将数字转换为二进制:5的二进制:01013的二进制:0011(2)逐位进行或运算(3)结果0111转换为十进制是7。0101(5)0011(3)0111(7)逻辑运算符和表达式04逻辑运算符和表达式Python中分别使用or、and、not这三个关键字作为逻辑运算“或”、“与”、“非”的运算符。以下假设变量a=10,b=20,其功能与示例如下运算符逻辑表达式描述实例andxandy布尔"与":如果x为False,xandy返回x的值,否则返回y的计算值。(aandb)返回20。orxory布尔"或":如果x是True,它返回x的值,否则它返回y的计算值。(aorb)返回10。notnotx布尔"非":如果x为True,返回False。如果x为False,它返回True。not(aandb)返回False逻辑运算符——注意事项1.or和and的返回值不一定是布尔值易错点:误以为or和and总是返回True或False。规则:or返回第一个为真的操作数(若全为假,返回最后一个操作数)。and返回第一个为假的操作数(若全为真,返回最后一个操作数)。print(3or5)#输出:3(第一个操作数为真)print(0or5)#输出:5(第一个操作数为假)print(3and5)#输出:5(全为真,返回最后一个)print(0and5)#输出:0(第一个操作数为假)逻辑运算符——注意事项2.not的优先级高于比较运算符易错点:忽略运算符优先级导致逻辑错误。x=5print(notx==0)#输出:True(等价于not(x==0))print(notx>0)#输出:False(等价于not(x>0))修正:若需明确逻辑,使用括号:print((notx)==0)#错误写法(逻辑无意义)逻辑运算符——注意事项3.非布尔值的逻辑运算易错点:对非布尔值(如整数、字符串)使用逻辑运算时,可能产生意外结果。Python规则:以下值被视为False:False、None、0、空容器(如[]、"")。其他值均被视为True。print([]or"default")#输出:"default"(空列表为假)print([]and"value")
#输出:[](空列表为假)逻辑运算符——注意事项4.not对非布尔值的操作易错点:误以为not直接返回布尔值。规则:not返回True或False,但操作数可能是非布尔值。print(not0)#输出:True(0为假)print(not[])#输出:True(空列表为假)print(not"hi")#输出:False(非空字符串为真)成员运算符和表达式05成员运算符除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。成员运算符和表达式的作用:检查元素是否存在于序列(如字符串、列表、元组)中运算符描述实例in如果在指定的序列中找到值返回True,否则返回False。xinyx在y序列中,如果x在y序列中返回True。notin如果在指定的序列中没有找到值返回True,否则返回False。xnotinyx不在y序列中,如果x不在y序列中返回True。成员运算符成员运算符和表达式的作用:检查元素是否存在于序列(如字符串、列表、元组)中运算符描述示例结果in存在"a"in"apple"Truenotin不存在10notin[1,2,3]Truefruits=["apple","banana"]print("banana"infruits)#输出:Trueprint("pear"notinfruits)#输出:True举例:字符串中的成员检查#检查字符是否在字符串中text="Hello,Python"print("H"intext)#输出:Trueprint("python"intext)#输出:False(区分大小写)print(""n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年春招:青岛银行真题及答案
- 2026医疗器械研发平台市场竞争分析研究投资价值发展前景评估
- 高强度聚焦超声治疗费总结2026
- 河北省秦皇岛市抚宁县驻操营学区初级中学初中信息技术《工作薄的编辑》教案
- 活动4 当元宵遇到汤圆教学设计小学劳动三年级北师大·深圳报业版《劳动实践指导手册》(主编:韩震)
- 高中语文 第四单元 第16课 项脊轩志教案 粤教版必修2
- 中职数学北师大版(2025)基础模块下册8.4.2简单随机抽样教学设计
- 四川省昭觉中学八年级体育《拓展训练》说课稿
- 六年级英语下册 Module 1 Changes and differences Unit 3 Our school in the future教案 牛津沪教版(三起)
- 高中生物 第7章 第2节 现代生物进化理论的主要内容1教学设计 新人教版必修2
- 证券业证券公司证券分析师实习生报告
- 2025年助理全科医生师资培训试题(附答案)
- 医疗安全(不良)事件根本原因分析法活动指南(T-CQAP4002-2024)
- GB/T 33061.10-2025塑料动态力学性能的测定第10部分:使用平行平板振动流变仪测定复数剪切黏度
- 井场作业应急预案(3篇)
- 儿童先天性代谢病净化方案
- 2024年上海秋季高考语文真题含答案
- CQC17463416-2024建设工程用电缆燃烧性能分级认证实施规则
- GMP卫生知识培训课件
- DB13(J)-T 8522-2023 承插型盘扣式钢管脚手架安全选用技术规程(京津冀)
- 电车充电桩安全管理培训课件
评论
0/150
提交评论