Python运算符与表达式全套_第1页
Python运算符与表达式全套_第2页
Python运算符与表达式全套_第3页
Python运算符与表达式全套_第4页
Python运算符与表达式全套_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python运算符与表达式运算符我们来简要学习一下运算符及其用法。请注意,你可以使用交互式解释器来计算下面示例中的表达式。例如,要想尝试表达式2+3,只需使用交互式Python解释器输入:下面简明地列出了常用的运算符:+(加)将两对象相加3+5得8.'a'+'b'得'ab'.-(减)将一个数减去另一个数,若减号左边没有数字,则默认作左边为零。-5.2为一个负数,而50-24则等于26。*(乘)得到两个数相乘的值,或者将一个字符串重复若干次。2*3得到6.'la'*3得到'lalala'.**(乘方)返回x的y次幂3**4得到81(i.e.3*3*3*3)/(除)x除以y13/3得到4.333333333333333//(除且取整)x除以y并返回小于商的最大整数,注意,如果操作数之一为浮点数,则返回值必为浮点数。13//3得到4-13//3得到-59//1.81得到4.0%(取模)返回作除法之后的余数。13%3得到1.-25.5%2.25得到1.5.<<(左移)将数字位向左移动指定的位数。每个数字在内存中用位或二进制数(如0和1)表示。2<<2得到8.2在二进制中用10表示。将10向左移两位得到1000,二进制1000表示十进制的8。>>(右移)将数字按位向右移动指定的位数。11>>1得到5。11的二进制表示为1011,将其右移一位后,得到101也就是十进制的5。&(按位与)数字的按位与5&3得到1。|(按位或)数字的按位或5|3得到7^(按位异或)数字的按位异或5^3得到6~(按位取反)x按位取反是-(x+1)~5得到-6<(小于)返回x是否小于y。所有的比较运动算符返回True或False。注意这些名字的大小写。5<3得到False,而3<5得到True。比较还可以任意链接:3<5<7得到True。>(大于)返回x是否大于y5>3返回True。如果两个操作数都是数字,则首先要做的是将它们转换为相同的类型。否则,它总是返回False。<=(小于或等于)返回x是否小于或等于yx=3;y=6;x<=y返回True>=(大于或等于)返回x是否大于或等于yx=4;y=3;x>=3返回True==(等于)比较一下对象是否相等x=2;y=2;x==y返回Truex='str';y='stR';x==y返回Falsex='str';y='str';x==y返回True!=(不等于)比较一下对象是否不相等x=2;y=3;x!=y返回Truenot(布尔非)如果x为True,它会返回False。如果x为False,它会返回True。x=True;notx返回False.and(布尔与)如果x为False,xandy返回False。否则,返回y的值由于x为False,x=False;y=True;xandy返回False。在这种情况下,Python不会计算y,因为它知道'与'表达式的左边为False,这就意味着整个表达式必定是False。这就是所谓的短路计算。or(布尔或)如果x为True,它会返回真,否则返回y的值x=True;y=False;xory返回True。这里也用到了短路计算。数学运算和赋值的快捷方式。对一个变量进行数学运算,然后将运算结果赋回给变量,这个过程非常常用。于是,对于这样的表达式有一个快捷方式:可以简写为:注意,变量=变量运算符表达式变成了变量运算符=表达式。计算顺序如果你有一个表达式,如2+3*4,是先做加法?还是先做乘法?我们的高中数学告诉我们,应该先做乘法。这就意味着,乘法运算符的优先级比加法运算符高。下表给出了Python的优先级表,从最低优先级(最小约束)到最高优先级(最大约束)。这就意味着在给定的表达式中,Python会首先计算表中较低的运算符和表达式,然后计算表中较高的运算符和表达式。lambda:Lambda表达式if-else:条件表达式or:布尔或and:布尔与notx:布尔非in,notin,is,isnot,<,<=,>,>=,!=,==:比较,包括成员资格测试和身份测试|:按位或^:按位异或&:按位与<<,>>:移位+,-:加减法*,/,//,%:乘除法,取整和取余+x,-x,~x:正负号,按位非**:求幂x[index],x[index:index],x(arguments...),x.attribute:订阅,切片,调用,属性引用(expressions...),[expressions...],{key:value...},{expressions...}:绑定或者元组显示,列表显示,字典显示,设置显示我们还没有遇到的操作符将在后面的章节中讲解。具有相同优先级的操作符在上表中的同一列中列出。例如+和-具有相同的优先级。改变计算顺序我们可以使用括号,使表达式更加具有可读性。例如:2+(3*4)显然比2+3*4更容易理解,因为后者需要运算符优先级的知识。和其它事物一样,括号要合理适度地使用(不要滥用),并且不要有冗余的括号,像(2+(3*4))就显得很冗余。使用括号还有另外一个优势——它能帮助我们改变计算的顺序。例如,如果你想在一个表达式中先算加法后算乘法,那么你可以写成(2+3)*4。关联性一般而言,操作符从左到右进行关联。这意味着具有相同优先级的操作符按照从左到右的方式进行计算。例如,2+3+4计算顺序为(2+3)+4。表达式示例(保存为expression.py):输出:它的工作原理矩形的长和宽分别保存在变量length和breadth中。在表达式的帮助下,我们使用长和宽来计算矩形的面积和周长。我们将表达式length*breadth的计算结果保存到变量area中,然后用print函数将其打印输出。第二种情况是,我们直接在print函数中使用表达式2*(length+breadth)的值。另外,请注意一下Python如何优雅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论