python中,有变量、值和运算符参与的语句叫做表达式。

比如:

#字符串表达式
"hello"
#运算表达式
+
#赋值表达式
test = "hello"
#变量表达式
test

运算符优先级

运算符 描述
lambda Lambda表达式
or 布尔“或”
and 布尔“与”
not x 布尔“非”
in,not in 成员测试
is,is not 同一性测试
<,<=,>,>=,!=,== 比较
| 按位或
^ 按位异或
& 按位与
<<,>> 移位
+,- 加法与减法
*,/,% 乘法、除法与取余
+x,-x 正负号
~x 按位翻转
** 指数
x.attribute 属性参考
x[index] 下标
x[index:index] 寻址段
f(arguments...) 函数调用
(experession,...) 绑定或元组显示
[expression,...] 列表显示
{key:datum,...} 字典显示
'expression,...' 字符串转换

 关于移位操作

右移:右移一位表示除以2

>>> >>

>>> >>

>>> >>

这里,移位数是>>右边的数,被移位数是>>左边的数。

左移:左移一位表示乘以2

>>> <<

这里,移位数是<<右边的数,被移位数是<<左边的数。

总结:移位数总是位于移位符号(<<或者>>)的右边被移位数总是位于移位符号的左边

优先级

运算符优先级按照上表由低到高

其他优先级如下:

#以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。

#Top :函数调用、寻址、下标

#Top :幂运算**
priorityNumber=***
print priorityNumber #输出结果: #Top :翻转运算~ #Top :正负号
print +*- #输出结果:- #Top :*、/、%
print +*/ #输出结果: #Top :+、-
print <<+ #输出结果: #Top :<<、>> #Top :按位&、^、| #Top :比较运算符
priority=*+<=+*
print priority #输出结果:True #Top :逻辑的not and or #Top :lambda表达式

一般操作,由左到右;赋值操作,由右到左

>>> a = +
>>> a

`a = b or c`与`a = (b or c)`等效。

括号优先操作

>>> b = (+)*
>>> b

python学习之运算表达式优先级的更多相关文章

  1. Python学习 之 运算符&表达式

    1.Python运算符包括:赋值运算符.算术运算符.关系运算符.逻辑运算符. 表达式是将不同的数据(包括变量.函数)用运算符号按一定规则连接起来的一种式子. 2.赋值运算符:=.+=.-=.*=./= ...

  2. python学习2 lambda表达式

    学习C#的,对这个就特别熟悉了 lambda函数,它没有名字,只有参数和表达式: lambda  args: expression def func1(func,arg): return func(a ...

  3. Python学习-数据运算

    在Python中有丰富的算术运算,这使得Python在科学计算领域有着很高的地位,Python可以提供包括四则运算在内的各种算术运算. a = 10 b = 20 print(a-b) #-10 pr ...

  4. python学习_运算

    1.数据类型 1.1数字 整型int,如2 浮点型float,如3.14和314E-2 复数complex,如(-5+4) 1.2布尔值 真或假 1或0 1.3字符串 'hello world' 2. ...

  5. Python中字符运算的优先级

    表1-2 运算符优先级 运算符 描述 lambda Lambda表达式 or 布尔“或” and 布尔“与” not x 布尔“非” in,not in 成员测试 is,is not 同一性测试 &l ...

  6. Python语言控制运算的优先级

    Python语言碰上计算式同时出现在一个指令内时,除了括号"(".")"最优外,其余计算优先次序如下: 次方(**). 乘法.除法.求余数(%).求整数(//) ...

  7. python学习Day25--正则表达式1

    [知识点] # 所有模块要经历的两个步骤: ① 要操作的概念本身:正则表达式   时间 ② 使用模块取操作它:re                  time 1.正则表达式:一种匹配字符串的规则 # ...

  8. python学习之----Lambda表达式

    Lambda 表达式本质上就是一个函数,可以作为其他函数的变量使用:也就是说,一个函 数不是定义成f(x, y),而是定义成f(g(x), y),或f(g(x), h(x)) 的形式. Beautif ...

  9. LeetCode:为运算表达式设置优先级【241】

    LeetCode:为运算表达式设置优先级[241] 题目描述 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果.你需要给出所有可能的组合的结果.有效的运算符号包含  ...

随机推荐

  1. cas协议,以及tomcat搭建cas服务器

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  2. 解决Centos运行yum 报错:坏的解释器

    # ll /usr/bin/python python python2 python2.6 python2.7 python.bak 1,这里先备份原来的/usr/bin/python 为python ...

  3. xss学习教程

    XSS漏洞详细分析与讲解.rar xss黑白盒渗透测试.pdf xss基础钓鱼-shgcx.com.zip XSS利用教程-shgcx.com.zip xss盲打渗透网站.doc XSS挖掘.ppt  ...

  4. ORA-04030

    ORA-04030: 在尝试分配...字节(...)时进程内存不足的原因分析及解决办法 正在使用的oracle 11g数据库,前天在用一段时间后(开始要较长时间才出现,后来较短时间就出现),频繁报OR ...

  5. 使用FreeMarker的Web Project例子

    1 创建一个名为FreemarkerDemo的Web Project 2 删除index.jsp,新建index.html,index.html中的内容为: <html> <head ...

  6. Quartz JobStore管理Job

    Quartz提供了RAMJobStore和JDBC JobStore两种方式用来Job,RAMJobStore将Job任务存入内存中,速度快:JobStore采用数据库的方式管理中,本文介绍JobSt ...

  7. adb shell root

    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Pe ...

  8. spring下载和安装

    下载和安装Spring请按例如以下步骤进行.   (1)登录网站,下载Spring的最新稳定版本号.最新版本号为spring-framework-4.0.建议下载spring-framework-sp ...

  9. 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念

    wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...

  10. MongoDB - 内嵌角色

    数据库用户角色(每个数据库都有的角色)   角色名 说明 read 对non-system集合的读取权限,以及以下system集合的读取权限:system.indexes,system.js,syst ...