python基础知识(三):比较运算符、布尔运算符和位运算

news2024/9/30 1:40:35

目录

  • 1. 比较运算符
  • 2. 布尔运算符
  • 3. 位运算

1. 比较运算符

比较运算符通常为以下6种:
(1) 大于">“,比较两个数a、b的大小,比较的结果如果a大于b则为True,否则为False;
(2) 大于等于”>=“,比较两个数a、b的大小,比较的结果如果a大于等于b则为True,否则为False;
(3) 小于”<“,比较两个数的大小,比较的结果如果a小于b则为True,否则为False;
(4) 小于等于”<=“,比较两个数的大小,比较的结果如果a小于等于b则为True,否则为False;
(5) 等于”==“,比较两个数是否相等,比较的结果如果a等于b则为True,否则为False;
(6) 不等于”!=",比较两个数是否不相等,比较的结果如果a不等于b则为True,否则为False。

# 比较运算符
print('*' * 50)
a, b = 10, 20
print('a>b', a > b)  # 大于
print('a<b', a < b)  # 小于
print('a<=b', a <= b)  # 小于等于
print('a>=b', a >= b)  # 大于等于
print('a==b', a == b)  # 等于
print('a!=b', a != b)  # 不等于

在这里插入图片描述

2. 布尔运算符

python中非0数的布尔值为True,0的布尔值为False。
布尔运算符包括与、或、非
(1) 与"and",a和b同为True时。a and b的值才为True,其余为False;
(2) 或"or",a和b同为False时。a or b的值才为False,其余为True;
(3) 非"not",a为True时,not a的值为False,a为False时,not a的值为True。

print('*' * 50)
a, b = 10, 20
print(a == 10 and b == 20)  # 逻辑与
print(a == 10 and b < 20)  # 逻辑与
print(a != 10 and b == 20)  # 逻辑与
print(a != 10 and b != 20)  # 逻辑与

在这里插入图片描述

print('*' * 50)
a, b = 10, 20
print(a == 10 or b == 20)  # 逻辑或
print(a == 10 or b < 20)  # 逻辑或
print(a != 10 or b == 20)  # 逻辑或
print(a != 10 or b != 20)  # 逻辑或

在这里插入图片描述

print('*' * 50)
a, b = 10, 0
print(not a)  # 逻辑非
print(not b)  # 逻辑非

在这里插入图片描述

3. 位运算

(1) 按位与"&"
a&b是将a,b两个数转换为二进制数,然后按右对齐位置,一个一个做与运算。例如,4&8,首先将4和8转换成二进制数0100和1000,然后右对齐,进行逐个与运算,得到0000,所以4&8的结果为0。

print('*' * 50)
# 按位与 & 同为1时结果为1
a = 4
b = 8
c = a & b  # 0b0100 & 0b1000 = 0b0000
print(c)

在这里插入图片描述
(2) 按位或"|"
a|b是将a,b两个数转换为二进制数,然后按右对齐位置,一个一个做或运算。例如,4|8,首先将4和8转换成二进制数0100和1000,然后右对齐,进行逐个或运算,得到1100,所以4&8的结果为12。

print('*' * 50)
# 按位或 | 同为0时结果为0
a = 4
b = 8
c = a | b  # 0b0100 | 0b1000 = 0b1100
print(c)

在这里插入图片描述
(3) 左移位运算"<<"
将数转换成二进制数然后向左移动,末尾补零,若左移动一位相当于乘以2,
例如4<<1,首先将4转换成0100,然后向左移动一位,然后末尾补零就是1000,结果为8,相当于乘以2,依次类推,4<<n,相当于4*2的n次幂。

print('*' * 50)
# << 左移位
a = 4
c = a << 1  # 0b0100 << 1 = 0b1000
print(c)

在这里插入图片描述
(4) 右移位运算">>"
将数转换成二进制数然后向右移动,最左端补零,若右移动一位相当于除以2,
例如4>>1,首先将4转换成0100,然后向右移动一位,然后最左端补零就是0010,结果为2,相当于除以2,依次类推,4>>n,相当于4/2的n次幂,如果结果小于1则为0。

print('*' * 50)
# >> 右移位
a = 4
c = a >> 1  # 0b0100 >> 1 = 0b0010
print(c)

在这里插入图片描述

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

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

相关文章

【论文阅读笔记】Contrast image correction method

论文小结&#xff1a; 本文是2010年发表出来的一篇文章&#xff0c;提出的方法是一种增强对比度的方法&#xff0c;其基本原理是自适应参数的 ganma 校正。ganma 校正的目标在于同时校正曝光过度和曝光不足区域的图像。   同时&#xff0c;为了防止光晕伪影&#xff0c;使用双…

vue 【git】

文章目录 前言一、git 工作流程二、常用的git命令1.git 初始化2.修改的内容提交到暂存区3.暂存区的内容提交到本地仓库4.创建分支5.切换分支6.展示分支7.删除分支8.合并指定分支到当前分支9.本地仓库的内容提交到远程仓库10.合并分支11.上传本地仓库分支到远程仓库分支 前言 什…

路径规划算法:基于闪电搜索优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于闪电搜索优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于闪电搜索优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化…

第12届蓝桥杯Scratch国赛真题集锦

程题 第 1 题 问答题 博土江出题 题目说明 编程实现:博土汪出了5道加法选择题&#xff0c;请同学们给出正确选项 具体要求 1).博士汪问:“n m ?”&#xff0c;n (0-9随机数)&#xff0c;m (0-9随机数) 2).下方A、B、C、D四个选项&#xff0c;随机一个选项为正确答案&#xff…

通过Python的PyPDF2库合并多个pdf文件

文章目录 前言一、PyPDF2库是什么&#xff1f;二、安装PyPDF2库三、查看PyPDF2库版本四、合并多个pdf文件1.引入库2.定义pdf路径3.获取所有要合并的PDF文件名4.创建一个新的PDF文件5.遍历所有PDF文件名6.打开PDF文件7.创建PDF阅读器对象8.遍历PDF中的每一页&#xff0c;并将它们…

嵌入式c语言-进制转换

10进制转2进制 以10进制的16,18为例子 利用短除法 每次除以2并且记录余数 直到商为1 然后从下往上写出 商余数 10进制转16进制 以55 180 500举例 利用短除法 每次除以16并且记录余数 直到商为1 然后从下往上写出 商余数 商和余数要写成16进制的形式 10进制转8进制 以15为…

(浙大陈越版)数据结构 第三章 树(上) 3.3 二叉树的遍历

目录 3.3.1 遍历&#xff08;先中后&#xff09; 二叉树的遍历 先序遍历&#xff1a; 中序遍历 后序遍历 tips: 3.3.2 中序非递归遍历 非递归算法实现的基本思路&#xff1a;使用堆栈 中序遍历的非递归算法具体实现方法为&#xff1a; 3.3.3 层序遍历 难点 解决方法…

经典神经网络(5)GoogLeNet及其在Fashion-MNIST数据集上的应用

经典神经网络(5)GoogLeNet及其在Fashion-MNIST数据集上的应用 1 Inception V1 的简述 Inception 网络是卷积神经网络的一个重要里程碑。在Inception 之前&#xff0c;大部分流行的卷积神经网络仅仅是把卷积层堆叠得越来越多&#xff0c;使得网络越来越深。这使得网络越来越复杂…

计算机组成原理-中央处理器-控制器功能和原理

目录 一、硬布线控制器 二、硬布线控制器的设计(硬件) 2.1分析每个阶段的微操作序列(取址、间址、执行、中断) 2.2选择cpu的控制方式 2.3 安排微操作时序 2.4电路设计 2.4.1列出操作时间表 2.4.2 写出微操作命令的最简表达式 2.4.3画出电路图 *三、微程序控制器基本原理 四…

剪映 自动打关键帧 AutoHotkey

牙叔教程 简单易懂 明确目的 做小说推文的话&#xff0c; 前面几分钟肯定要自己打关键帧&#xff0c; 所以这里的自动打关键帧指的是后面几分钟的图片&#xff0c; 对关键帧要求比较高的同学可以划走了, 因为这里介绍的是简单的 上上下下缩放的关键帧 要求 用剪映提取字幕…

【Python Twisted】零基础也能轻松掌握的学习路线与参考资料

Python Twisted是一个用于网络编程的事件驱动的框架&#xff0c;该框架使用异步I/O模型和回调函数。它支持多种协议&#xff0c;包括TCP、UDP、SSL/TLS、XMPP等&#xff0c;可以用来编写Web服务器、聊天应用、邮件服务器等。Twisted是一个成熟的框架&#xff0c;拥有强大的社区…

【JavaEE】文件操作和IO

目录 1、认识文件 1.1、路径 1.1.1 、绝对路径 1.1.2、相对路径 1.2、文本文件 vs 二进制文件 2、文件系统操作 3、文件内容操作 3.1、字节流用来输入的抽象类InputStream的方法使用 3.1.1、FileInputStream类的构造方法 3.1.2、字节流读操作 3.1.3、字节流写操作 3.…

Presto从入门到精通以及案例实操系列

1、简介 1.1、Presto的由来 Presto最初由Facebook公司开发&#xff0c;旨在解决Facebook内部大规模数据处理和数据分析的问题。在传统的Hadoop生态圈中&#xff0c;MapReduce作为数据处理框架&#xff0c;虽然能够处理海量数据&#xff0c;但是其查询性能却比较低下&#xff…

《面试1v1》CountDownLatch和CyclicBarrier

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你用过 CountDownLatch 和 CyclicBarrier 吗&#xff1f; 候选人&#xff1a; 当然可以。CountDownLatch 和 CyclicBarrier 都是 Java 中用于多…

通过 docker-compose 快速部署 MySQL保姆级教程

文章目录 一、概述二、前期准备1&#xff09;部署 docker2&#xff09;部署 docker-compose 三、创建网络四、MySQL 编排部署1&#xff09;构建镜像 Dockerfile2&#xff09;配置文件2&#xff09;编排 docker-compose.yaml3&#xff09;开始部署 五、简单测试验证六、常用的 M…

在线排查内存泄漏的步骤

一、在线排查内存泄漏的步骤 想到内存泄漏问题的排查&#xff0c;很多开发会想到使用 Valgrind。使用 Valgrind 有几个局限&#xff1a; 需要安装 Valgrind 需要启停服务进程 影响服务进程性能 依赖于测试用例覆盖到 BUG 分支 由于这些原因&#xff0c;线上内存泄露问题并…

位图、布隆过滤器、海量数据处理

提示&#xff1a; 本文介绍了&#xff0c;位图、布隆过滤器、以及海量数据处理问题。 本节有很多关于大数处理的案例&#xff08;已解答&#xff09;。 ——细雨斜风作晓寒&#xff0c;淡烟疏柳媚晴滩。&#xff08;苏轼&#xff09; 文章目录 一、位图1.1 位图概念1.2 位图实…

深度学习12—VGG19实现

目录 VGG19实现 1.为数据打标签的generate_txt.py 2.对图像进行预处理的data_process.py 3.VGG19的网络构建代码net_VGG19.py 4.训练得到pth模型参数文件的get_pth_file.py 5.预测代码predict.py 6.预测VGG16与VGG19结果对比 VGG19实现 1.为数据打标签的generate_txt.p…

【git教程】

这里写目录标题 git是什么集中式版本控制系统和分布式版本控制系统git的优势git能做什么(常用)基础教程流程图介绍小节 常用Git命令速查表详解1、HEAD2、add3、commit4、branch5、merge6、rebasemerge和rebase区别7、reset8、revertrevert与reset的区别 git是什么 git是目前世…

【Java算法题】剑指offer_数据结构之02树

前言 刷题链接&#xff1a; https://www.nowcoder.com/exam/oj/ta?page2&tpId13&type265 2. 树 JZ55 二叉树的深度 思路&#xff1a;dep max_deepth(left,right)1&#xff0c;二叉树的深度为根节点到叶子节点&#xff0c;使用递归访问根节点的左孩子和右孩子&…