python运算符的优先级

运算符优先级

如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符。

下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。

下面这张表(与Python参考手册中的那个表一模一样)已经顾及了完整的需要。事实上,我建议你使用圆括号来分组运算符和操作数,以便能够明确地指出运算的先后顺序,使程序尽可能地易读。例如,2 + (3 * 4)显然比2 + 3 * 4清晰。与此同时,圆括号也应该正确使用,而不应该用得过滥(比如2 + (3 + 4))。

表5.2 运算符优先级

运算符 描述
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 + 3) * 4的样子。

结合规律

运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4被计算成(2 + 3) + 4。一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c被处理为a = (b = c)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis学习(32):删除操作

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer…

创业起步的十大准备步骤

导读 对于大多数首次创业者&#xff0c;创业起步如同小孩子刚刚开始学走路一样&#xff0c;资金可能并不会十分丰厚&#xff0c;再加上经验的缺失&#xff0c;形成了创业阶段的薄弱环节。因此&#xff0c;创业起步时一定要结合自身优势并在规划中下足功夫。 ⒈怎样寻找创业模…

git 常用命令备查

一.git 提交文件的流程git add -> git commit -> git push 暂存区 ->本地仓库-> 远程仓库 二. 常用git命令1.初始化git仓库命令 git init 2.添加用户和邮箱 $ git config --global user.name "wumginxm" $ git config --global user.email zhangsan25…

Hive笔记之JOIN的左外链接和右外链接

一 为什么要用左外表或者右外表 hive中对多个表联合操作时,总是按照从左到右顺序执行,.因为hive在对每行记录进行 操作时,它会尝试将较小的表缓存起来,然后扫描最大的那张表.因此需要保证在连续查询中的表的大小从左往右依次增加,否则当数据的量很大时,会大大降低hive的执行的…

mybatis学习(33):动态sql if

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer…

小程序·云开发实战 - 体重记录小程序

前一段看到朋友圈里总是有人用txt记录体重&#xff0c;就特别想写一个记录体重的小程序&#xff0c; 现在小程序的云开发有云函数、数据库&#xff0c;真的挺好用&#xff0c;很适合个人开发者&#xff0c;服务器域名什么都不用管&#xff0c;云开发让你完全不用操心这些东西。…

“软件宝宝”出生前,安全系列文章(一)

原文出处&#xff1a;http://www.cnblogs.com/HappyQQ/ 作者&#xff1a;黄启清 日期&#xff1a;2008-6-26 谨以此文献给我最亲爱的妈妈(http://mama520.cn/) 本文将扩展“软件宝宝”安全成长史“软件宝宝出生前”段落中的内容&#xff0c;系列文章将会继续扩展&#xff0…

sql(join on 和where的执行顺序)

sql(join on 和where的执行顺序&#xff09;left join :左连接&#xff0c;返回左表中所有的记录以及右表中连接字段相等的记录。 right join :右连接&#xff0c;返回右表中所有的记录以及左表中连接字段相等的记录。 inner join: 内连接&#xff0c;又叫等值连接&#xff0c;…

mybatis学习(34):动态sql-choose

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer…

小程序·云开发实战 - 校园约拍小程序

创意来源于生活&#xff0c;之所以开发这个校园约拍小程序&#xff0c;是因为在摄影选修课上常听老师抱怨外出写生老找不到模特&#xff0c;许多大学生都想拥有一套专属自己记忆的摄影作品&#xff0c;记录下不会磨灭的美好回忆&#xff0c;可如何找到让自己满意的摄影师是他们…

传统图片验证算法的缺点及改进(原理篇)

图片验证最常用在防恶意注册的场景&#xff0c;但传统图片验证方法的缺点在于需在服务器端维护这些随机生成的验证码字符串&#xff0c;所以实质上只是将恶意注册的影响从数据库转移到了内存&#xff0c;维护这个内存资源仍然会带来一些麻烦&#xff0c;包括定期清理&#xff0…

hive关于left join 和join时候on条件总结

hive中使用join时候on条件 1、如果 select * from a left join b on(a.字段b.字段) 工作正常 2、如果 select * from a left join b on(a.字段b.字段&#xff0c;b.字段某值&#xff0c;b.……) 工作正常 3、如果 select * from a left join b on(a.字段b.字段&#xff0c;a.字…

mybatis学习(35):sql-where

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer…

You get a dream...you gotta protect it.

Dont ever let somebody tell you...you cant do something. You get a dream...you gotta protect it. If you want something,go get it. MOVIE 《当幸福来敲门》 转载于:https://www.cnblogs.com/mtc/archive/2008/07/03/1235079.html

mybatis学习(36):动态sql-set

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer…

从10亿光年到0.1飞米的世界 (经典!震撼!)

从10亿光年到0.1飞米的世界! 10亿光年,是一个什么概念?光年:光走一年的路程.光速:每秒299792458米,一秒可绕地球7圈半.在10亿光年下观测的宇宙.上面的每一个象素点所表现的事物都是无比古远的.1亿光年.把视野缩小了10倍,宇宙看起来还是星光点点,1000万光年,把眼光再降低一个数…

高效、稳定开发功能的一些心得

在开始编码前一定要足够了解案子&#xff0c;了解各种特殊情况&#xff0c;和美术、策划、服务器沟通好&#xff0c;最后写好伪代码。 一些建议 1.尽量复用&#xff0c;例如重复的对象单独抽出来做成item&#xff0c;别的模块也用到的做成通用item&#xff0c;不要写重复代码。…

Flume与Kafka整合案例详解

环境配置 名称 版本 下载地址 Centos 7.0 64x 百度 Zookeeper 3.4.5 Flume 1.6.0 Kafka 2.1.0 flume笔记 直接贴配置文件 [rootzero239 kafka_2.10-0.10.1.1]# cat /opt/hadoop/apache-flume-1.6.0-bin/conf/kafka-conf.properties # The configuration file needs to …

mybatis学习(37):动态sql-trim

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer…

SQL-简单查询

/*人员&#xff1a;LDH功能&#xff1a;SQL-简单查询日期&#xff1a;2018-7-18*/USE TSQLFundamentals2008; GO-- Select some columns information. SELECT empid,lastname,firstname,address,city,country FROM HR.Employees;-- GROUP BY SELECT 国家 country,COUNT(1) AS …