Python 运算符和表达式

Python 运算符和表达式作者 billy 版权声明 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处运算符运算符是一些特殊的符号 主要用于科学计算 比较大小和逻辑运算等 Python 中的运算符主要包括算术运算符 赋值运算符 比较运算符 逻辑运算符和位运算符 使用运算符将不同类型的数据按照一定的规则连接起来的式子 称之为表达式 下面我们学习一下最常用的一些运算符 算术运算符算术运算符是处理四则运算的符号 在数字的处理中应用得最多 常用的算术运算符如下表所示 运算符说明举例结果

运算符

运算符是一些特殊的符号,主要用于科学计算、比较大小和逻辑运算等。Python 中的运算符主要包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。使用运算符将不同类型的数据按照一定的规则连接起来的式子,称之为表达式。下面我们学习一下最常用的一些运算符。

  1. 算术运算符
    算术运算符是处理四则运算的符号,在数字的处理中应用得最多。常用的算术运算符如下表所示:

运算符 说明 举例 结果
+ 12.45 + 15 27.45
4.56 – 0.26 4.3
* 5 * 3.6 18.0
/ 7 / 2 3.5
% 求余,即返回除法的余数 7 % 2 1
// 取整数,即返回商的整数部分 7 // 2 3
幂,即返回 x 的 y 次方 2 4 16,即 2^4

注意事项:

  • 使用 % 求余时,如果除数(第二个操作数)是负数,那么取得的结果也是一个负值
  • 使用除法(/ 或 //)运算符和求余运算符时,除数不能为 0,否则将出现异常
  • 使用除法运算符,在 Python 2.x 中,如果操作数都是整数,那么结果也将取整数,而在 Python 3.x 中,结果为浮点数
  1. 赋值运算符
    赋值运算符主要用来为变量等赋值。常用的赋值运算符如下表所示:

运算符 说明 举例 展开形式
= 简单的赋值运算 x = y x = y
+= 加赋值 x += y x = x + y
-= 减赋值 x -= y x = x – y
*= 乘赋值 x *= y x = x * y
/= 除赋值 x /= y x = x / y
%= 取余数赋值 x %= y x = x % y
= 幂赋值 x = y x = x y
//= 最整除赋值 x //= y x = x // y
  1. 比较(关系)运算符
    比较运算符,也成关系运算符,用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回 True,如果为假,则返回 False。常用的比较运算符如下表所示:

运算符 作用 举例 结果
> 大于 ‘a’ > ‘b’ False
< 小于 156 < 456 True
== 等于 ‘c’ == ‘c’ True
!= 不等于 ‘y’ != ‘t’ True
>= 大于等于 479 >= 426 True
<= 小于等于 62.45 <= 45.5 False
  1. 逻辑运算符
    逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值。常用的逻辑运算符如下表所示:

运算符 含义 用法 结合方向
and 逻辑与 op1 and op2 左到右
or 逻辑或 op1 or op2 左到右
not 逻辑非 not op 右到左
  1. 位运算符
    位运算符是把数字看做二进制数来进行计算的,因此需要先将要执行运算的数据转换为二进制,然后才能执行运算。常用的位运算符如下表所示:

运算符 运算法则
“按位与” 运算 ‘&’ 两个操作数的二进制表示,只有对应位都是 1 时,结果位才是 1,否则为 0。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同;
“按位或” 运算 ‘|’ 两个操作数的二进制表示,只有对应位都是 0 时,结果位才是 0,否则为 1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同;
“按位异或” 运算 ‘^’ 当两个操作数的二进制表示相同(同为 0 或者同为 1)时,结果为 0,否则为 1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同;
“按位取反” 运算 ‘~’ 将操作数对应二进制中的 1 改为 0,0 改为 1;
左移位运算符 ‘<<’ 将一个二进制操作数向左移动指定的位数,左边(高端位)溢出的位被丢弃,右边(低端位)的空位用 0 补充。左移运算符相当于乘以 2 的 n 次方;
右移位运算符 ‘>>’ 将一个二进制操作数向右移动指定的位数,右边(低端位)溢出的位被丢弃,而在填充左边(高端位)的空位时,如果最高位是 0(正数),左侧空位填入 0,如果最高位是 1(负数),左侧高位填入 1。右移运算符相当于除以 2 的 n 次方;

由于移位运算符的速度特别快,所以在程序中遇到表达式乘以或除以 2 的 n 次方的情况时,一般采用位移运算符来代替

  1. 运算符的优先级
    所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算,与数学中的四则运算口诀 “先乘除,后加减” 是一个道理。同一优先级的操作符按照从左到右的顺序进行,如果使用了小括号,则括号内的运算做先执行。运算符的优先级如下表所示:

类型 说明 优先级
~、+、- 取反、正号、负号
*、/、%、// 算术运算符
+、- 算术运算符
<<、>> 位移运算符中的左移和右移
& 位移运算符中的按位与
^ 位移运算符中的按位异或
| 位移运算符中的按位或
<、<=、>、>=、!=、== 比较运算符

当表达式中运算符较多时,应该使用括号 ‘()’ 来限定运行次序,避免运算符发生错误

条件表达式

a = 10 b = 6 if a > b: r = a else: r = b 

上面这个例子可以使用条件表达式进行简化

a = 10 b = 6 r = a if a > b else b 

条件表达式的规则:先计算中间的条件 (a > b) ,如果结果为 True,返回 if 语句左边的值,否则返回 else 右边的值

更多请参考

  • Python 进阶之路
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218649.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:47
下一篇 2026年3月17日 下午11:47


相关推荐

  • word去掉万恶的域代码

    word去掉万恶的域代码背景:写论文使用mathtype插入公式后,有时候会显示域代码更新软件环境:macos10.14.6,word16.45解决过程:刚开始在域代码那里接受修订,然后重新打开word还是现实域代码,去网上找了教程(mac下)先选中,然后command+shift+F9解决了问题。如果是windows应该是ctrl+shift+F9(我没试过哈,猜的)…

    2022年6月6日
    49
  • CentOS 7 修改IP地址问题及解决方案

    CentOS7修改IP地址问题及解决方案问题:在搭建ambari时虚拟机地址忽然改变导致ambari无法启动在网上搜索相关帖子大多是要求使用vim/etc/sysconfig/network-scripts/ifcfg-eth0重新配置,但是CentOS7中没有这个文件有且仅有ifcfg-ens33和ifcfg-lo(也有人的是32结尾具体可能是小版本的问题?)于是自己进行摸索并成功实现修改IP地址解决方式执行命令到当前目录下并查看目录下的文件cd/etc/sysc

    2022年4月7日
    51
  • 利用神器Typora+PicGo,实现有道云不用会员就可在Markdown自动上传图片

    本文是一篇工具的使用整理,希望能够帮助到你。欢迎关注公众号【Java编程技术乐园】,不止分享技术。文章目录01 开始02 实战安装`Picgo ` 配置+验证`Typora ` 配置+验证03 结束04 结束的尾巴01 开始阳春三月已过,感觉最近的天气是比较舒适的,在这个城市,湿冷的冬天过去,酷热的夏天未来,这样的日子持续的长一点就爽了。先简单梳理下之前分享过的文章:【教程】使…

    2022年2月28日
    113
  • 【数据结构与算法】时间复杂度和空间复杂度

    【数据结构与算法】时间复杂度和空间复杂度数据结构与算法 时间复杂度和空间复杂度 OJ 题目练习

    2026年3月16日
    2
  • 查看Linux内核版本的命令_ubuntu 查看内核

    查看Linux内核版本的命令_ubuntu 查看内核有朋友在使用Linux的过程中要查看Linux的内核版本号,这要怎么看呢?也有朋友文要怎么查看linux系统版本信息呢?下面和小编一起了解一下吧。一、查看linux内核版本号1:登录linux,在终端输入cat/proc/version2:登录linux,在终端输入uname-a即列出linux的内核版本号。二、查看linux系统版本信息1:登录到linux服务器执行lsb_rele…

    2022年8月23日
    9
  • C++ stringstream 类的用法「建议收藏」

    C++ stringstream 类的用法「建议收藏」(转自:https://blog.csdn.net/nwpu_yike/article/details/22100615)一、类型转换——数字-&gt;字符串C++stringstream类是一种十分有用的类,特别是当我们需要在程序中使用字符串和数字数据互相转换的时候。要想在程序中使用stringstream类,我们需要在源程序文件中包含头文件include&lt;sstream&…

    2022年5月1日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号