python ** 运算符_Python从入门到放弃运算符(2)
摘要:上一篇Python从入门到放弃-运算符(1),讲了Python的运算符中的算术运算符、赋值运算符、比较(关系)运算符,这篇继续讲Python的运算符。
逻辑运算符
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and(逻辑与),or(逻辑或),not(逻辑非)。下表是逻辑运算符的用法和说明。
运算符 | 含义 | 用法 | 结合方向 |
and | 逻辑与 | op1 and op2 | 从左到右 |
or | 逻辑或 | op1 or op2 | 从左到右 |
not | 逻辑非 | not op | 从右到左 |
使用逻辑运算符进行逻辑运算时,其运算结果如下:
表达式1 | 表达式2 | 表达式1 and 表达式2 | 表达式1 or 表达式2 | not 表达式1 |
True | True | True | True | False |
True | False | False | True | False |
False | False | False | False | True |
False | True | False | True | True |
位运算符
位运算符是把数字看做二进制来进行计算的,因为,需要先将要执行运算的数据转换成为二进制,然后才能执行运算。Python中的位运算符有位与(&)、位或(|)、位异或(^)、取反(~)、左移位(<>)运算符。
- “位与”运算
“位与”运算的运算符为“&”,“位与”运算的运算符法则是:两个操作数据的二进制表示,只有对应位都是1时,结果才是1,否则为0。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如下图所示,60&13 = 12
“位或”运算
“位或”运算的运算符为“|”,“位或”运算的运算符法则是:两个操作数据的二进制表示,只有对应位都是0时,结果才是0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如下图所示,60|13 = 61
“位异或”运算
“位异或”运算的运算符为“^”,“位异或”运算的运算符法则是:两个操作数据的二进制表示相同时(同时为0或同时为1),结果为0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,如下图所示,60^13 = 49
“位取反”运算
“位取反”运算也称为“位非”运算,运算符为“~”,“位取反”运算运算就是将操作数中对应的二进制数1修改为0,0修改为1,如下图所示,
“左移位”运算
“左移位”运算符<
“右移位”运算
“右移位”运算符>>是将一个二进制操作数向右移动指定的位数,右边(低位端)溢出的位被丢弃,而在填充左边(高位端)的空位时,如果最高位是0(正数),左侧空位补零;如果最高位是1(负数),左侧空位填入1。右移位运算相当于除以2的n次幂。例如:a = 240,右移一位的值是120,右移两位的值是60。如下图所示:
成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。在Python中常见的成员运算符如下:
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True |
如下所示,演示了成员运算符的操作:
运算符优先级
所谓运算符优先级,就是先计算哪个,后计算哪个。与数学的四则运算应该遵守的“先乘除后加减”是一个道理。Python运算符的运算规则是:先进行优先级高的运算,后进行优先级低的运算,同一级优先级的从左到右计算,有括号的先进行括号运算。下表是优先级从高到底排列。
运算符 | 说明 |
** | 幂 |
~、+、- | 取反、正号、负号 |
*、/、%、// | 算术运算符 |
+、- | 算术运算符 |
<> | 位运算符中的左移和右移 |
& | 位运算符中的位与 |
^ | 位运算符中的位异或 |
| | 位运算符中的位或 |
、>=、!=、== | 比较运算符 |
在编写代码时尽量使用括号 “()” 来限定运算次序,以免运算次序发生错误。
总结
具体介绍了逻辑运算符、位运算符和成员运算符。
介绍了Python运算符的优先级,在在编写代码时尽量使用括号 “()” 来限定运算次序,以免运算次序发生错误。
end
往期推荐
Python从入门到放弃-运算符(1)
趣味python-PDF神器
python ** 运算符_Python从入门到放弃运算符(2)相关推荐
- python中的模运算符_Python中的字符串模运算符与format函数
如果你在网上搜索Python中如何进行字符串插值(string interpolation),那么你很可能会发现一些留言和旧文档中说字符串模运算符(%)以后会被废弃,并移除出标准库.但是这完全是杞人忧 ...
- python中 是什么运算符_Python中什么是算术运算符、赋值运算符和复合运算符?...
本篇文章给大家带来的内容是介绍Python中什么是算术运算符.赋值运算符和复合运算符.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助. 算术运算符 常见的算术运算符有 : + 加法运算符 ...
- python中算术运算符_python中的基本算术运算符有哪些
python中的基本算术运算符有哪些 发布时间:2020-11-16 14:54:33 来源:亿速云 阅读:74 今天就跟大家聊聊有关python中的基本算术运算符有哪些,可能很多人都不太了解,为了让 ...
- Python如何克服从入门到放弃?
编辑:Sophia计算机视觉联盟 报道 | 公众号 CVLianMeng 福 利 为了回馈关注计算机联盟的朋友,特在此送两本Python的书 <零基础轻松学Python>给大家 ...
- 【Python学习记录——从入门到放弃】一、变量和简单数据类型(上)
本文使用的书籍是<Python编程:从入门到实践> 本文使用的是Python3.6 一.运行hello_world.py 这里主要是演示了一下print函数的使用,新手主要是在Python ...
- python有没有三元运算符_Python基础入门:从变量到异常处理(1)
一.学习内容概括 二.具体学习内容 2.1 变量与运算符 2.2.1 注释 1. # #:单行注释,作用于整行. 2. 三引号 ''' '''或者""" "&q ...
- python集合运算符_Python 集合、字典、运算符
先区分一下序列类型和散列类型: 序列类型:list.string.tuple,他们中的元素是有序的. 散列类型:set.dict,他们中的元素无序的.(注意:python3.7.0开始字典变成&quo ...
- python生日祝福短信_python从入门到放弃篇5(tkinter模块)实现生日快乐祝福
#从我开始学习python编程到现在也就4个月的时间,我感觉还是很不错的,我在挣扎,在坚持.因此,请不要放弃治疗. #今天太忙了,搞作业.没时间更新打奖程序了,明天再想办法看看.今天先出新东西,用tk ...
- python强制用什么作为语句缩进符号_python从入门到放弃 第二天 谈谈python代码中的冒号和缩进...
如同格子衬衫一样规整的源代码书写层次,是一个优秀的码农必备的编程习惯.python的作者无意就是这样一个人. python是用冒号(:)和强制缩进作为代码层次来划分代码组的.这是一个很小的知识点,但是 ...
最新文章
- 操作系统学习笔记 第二章:进程管理(王道考研)
- html进度条圆圈渐变色,HTML5 canvas带渐变色的圆形进度条动画
- 邀请别人进入队伍rust_林俊杰组建DOTA2队伍,原Newbee五人被终身禁赛
- JavaScript是如何工作的:JavaScript的共享传递和按值传递
- Android中Bitmap和Drawable
- php7的稳定性,探索PHP7(一)--性能
- Linux多线程——使用信号量同步线程
- IAR切BANK--程序中的使用
- STM32的串口通信
- c++怎么将两个类的方法集合成一个类的方法_一文帮你梳理 Java 集合
- weblogic多次连接后tcp服务堵塞_网络编程——服务器篇
- 告别复杂WCF扩展 REST过程 ,让他 so easy
- 【原创翻译】深入理解javascript事件处理函数绑定三部曲(一)——早期的事件处理函数...
- java 选取topn_取Oracle中实现TOPN,选取前几条记录
- R语言的常用函数速查
- Xception: DeepLearning with Depthwise Separable Convolutions2017Google【论文理解】
- hp 服务器 sd卡作用,用4张卡聊一聊SD卡规范
- 网络云存储技术Windows server 2012 (项目十七 配置iSCSI传输的安全性)
- FRM-18108 FRM-10102错误解决
- 博友的 编写高质量代码 改善java程序的151个建议
热门文章
- 用prototype 方式来创建客户端组件类
- 解决Jupyter notebook安装后不自动跳转网页的方法
- Linux下如何生成core dump 文件(解决segment fault段错误的问题)
- oracle ORA-01000: maximum open cursors exceeded问题的解决方法
- Android Studio开发RecyclerView遇到的各种问题以及解决(一)
- Linux 桌面玩家指南:17. 在 Ubuntu 中使用 deepin-wine,解决一些依赖 Windows 的痛点问题
- 在Java中将Double转换为Integer
- 如何判断UIViewController的视图是否可见
- Facebook使用机器学习手段来自动优化其系统性能
- Keras创建者深度思考:不要将AI作为操纵用户的工具