当前位置: 首页 > news >正文

Python基础-04(比较运算符、逻辑运算符)

文章目录

  • 前言
  • 一、比较运算符
  • 二、逻辑运算符
    • 1.and(与)
    • 2.or(或)
    • 3.not(非)
    • 4.逻辑运算符的细节(短路原则)(着重理解)
  • 总结


前言

1、比较运算符内容很简单,就是简单的数学逻辑

2、逻辑运算符理解思考一下即可,要摸透逻辑运算符的执行逻辑,稍微花那么一丢丢时间着重看一下
下面都是我个人的理解,如有建议,必虚心采纳


一、比较运算符

'''
逻辑方面就是正常的数学逻辑,稍微注意一些python特有的的比较运算符的细节即可
不需要过于深究
''''''
关于返回值 比较运算符最终返回的是布尔类型的变量(True和False)
比较运算符两边的变量 符合对应比较运算符的逻辑 返回True;反之为False
'''# ==(等于)
'''
这里稍稍提示一下 == 和 =(赋值运算符)两者完全没有任何关系 千万别搞错了
'''
print(5 == 5)  # True# !=(不等于)
'''
python2版本的不等于是 <> python3现已弃用
'''
print(5 != 5)  # False# >(大于)
print(5 > 5)  # False# <(小于)
print(5 < 5)  # False# >=(大于等于)
print(5 >= 5)  # True# <=(小于等于)
print(5 <= 5)  # True

二、逻辑运算符

一共三个 稍微思考一下就很好理解 也是很容易明白的逻辑and  or  not
对应中文含义   与   或   非

1.and(与)

'''
and 与 两边都是True,结果才为True(x and y,x和y都为True,结果为True)
'''
print((10 == 10) and (5 == 5))  # True and True     True
print((10 == 10) and (5 == 4))  # True and False    False

2.or(或)

'''
or 或 只要有一边为True,结果就为True(x or y,x和y其中一个为True,结果就是True)
'''
print((10 == 10) or (5 == 4))  # True or False     True
print((10 == 9) or (5 == 4))  # False or False    False

3.not(非)

'''
not 非(取反) 若x为True,则not x为False;若x为False,则not x为True;
'''
print(not (10 == 10))  # not True     False
print(not (10 == 9))  # not False    True

4.逻辑运算符的细节(短路原则)(着重理解)

'''
首先 明确逻辑运算的执行顺序 从左到右
'''# and短路
'''
什么是短路?就是执行到某个步骤时不符合逻辑要求就中断停止
'''
print(True and print('python 1'))  # python 1
print(False and print('python 2'))  # None
'''
总结:
and运算符前面的结果为False时,直接停止,后面的代码就不再继续执行了
'''# or短路
print(True or print('python 1'))  # None
print(False or print('python 2'))  # python 2
'''
总结:
or运算符前面的结果为True时,直接停止,后面的代码就不再继续执行了
因为or 只要其中一个True 它结果就是True了 没有必要继续执行后面的内容
'''# 扩展(关于提到逻辑运算符两边存在非布尔型变量的问题)
'''
其实吧 逻辑运算符根本没有去强调运算符两边的数据内容类型 可以是布尔类型 常量 字符串 打印啊什么的
正常的语句基本都可以关键在于必须遵守这个短路原则(重要):
其实逻辑运算符就是返回最终执行到的步骤的结果,说人话就是,执行到哪儿,就返回哪儿的值
''''''
and具体讲解
广义:and运算符两边都要是True,结果才为True
狭义:更准确的说法应该是,从左到右的执行过程中,执行至False时,短路停止执行,最终结果为 停止执行处的结果
'''
# 例
print(True and True)  # True                    没有遇见False,执行至最后一个数据停止,所以输出True
print(False and True)  # False                  遇见False,直接短路,停止执行,所以输出False
print(1 and 3)  # 3                             没有遇见False,执行至最后一个数据停止,所以输出3
print(1 and "hello world")  # hello world       没有遇见False,执行至最后一个数据停止,所以输出hello world
print('--------------------------------------------------------------------------1')'''
or具体讲解
广义:or运算符只需要其中一边为True,结果就为True
狭义:更准确的说法应该是,从左到右的执行过程中,执行至非False时,短路停止执行,最终结果为 停止执行处的结果
'''
# 例
print(True or True)  # True                     执行至第一个True就是非False,直接短路,停止执行,所以输出True
print(False or True)  # True                    执行至第二个True就是非False,直接短路,停止执行,所以输出True
print(1 or 3)  # 1                              执行至1,非False,直接短路,停止执行,所以输出1
print("hello world" or True)  # hello world     执行至"hello world",非False,直接短路,停止执行,所以输出hello world'''
强调一下两个细节
1、(非False和True的不同)
非False的范围更大,也就是说只要不是False,都属于非Fasle(包括True,除了False以外的所有东西)
而True,就仅仅只是个True2、(逻辑运算符的执行顺序,从左至右)
3、(逻辑运算符的优先级 not > and > or)
'''

总结

强调理解逻辑运算符的短路原则,虽然说平时运用到的都是广义上的逻辑运算符的逻辑,就是看两边有没有True或者False啥的
其实稍微认真花个十几分钟看一下然后稍微思考一下,很容易就明白的原理,建议认真看下逻辑运算符的细节~

相关文章:

Python基础-04(比较运算符、逻辑运算符)

文章目录 前言一、比较运算符二、逻辑运算符1.and&#xff08;与&#xff09;2.or&#xff08;或&#xff09;3.not&#xff08;非&#xff09;4.逻辑运算符的细节&#xff08;短路原则&#xff09;&#xff08;着重理解&#xff09; 总结 前言 1、比较运算符内容很简单&#…...

MySQL 四种插入命令及其特点与锁机制

目录 1. INSERT INTO 2. INSERT IGNORE INTO 3. INSERT INTO ... ON DUPLICATE KEY UPDATE 4. REPLACE INTO 总结 MySQL提供了多种数据插入方式&#xff0c;每种方式在处理唯一键冲突时的行为不同&#xff0c;同时也涉及不同的锁机制。 1. INSERT INTO INSERT INTO是标准…...

AKShare学习笔记

AKShare学习笔记 本文内容参考AKShare文档。AKShare开源财经数据接口库采集的数据都来自公开的数据源&#xff0c;数据接口查询出来的数据具有滞后性。接口参考AKShare数据字典。 AKShare环境配置 安装Anaconda&#xff0c;使用Anaconda3-2019.07版本包&#xff0c;配置清华数…...

A星寻路算法

A星寻路算法简介 A星寻路算法&#xff08;A* Search Algorithm&#xff09;是一种启发式搜索算法&#xff0c;它在图形平面上进行搜索&#xff0c;寻找从起始点到终点的最短路径。A星算法结合了广度优先搜索&#xff08;BFS&#xff09;和最佳优先搜索&#xff08;Best-First S…...

QDialog

属性方法 样式表 background-color: qlineargradient(spread:reflect, x1:0.999896, y1:0.494136, x2:1, y2:1, stop:0 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));border: 1px groove rgb(232, 232, 232);border-radius: 20px; QDialog 的常用方法&#xff1a; e…...

Spark中使用DataFrame进行数据转换和操作

Apache Spark是一个强大的分布式计算框架&#xff0c;其中DataFrame是一个核心概念&#xff0c;用于处理结构化数据。DataFrame提供了丰富的数据转换和操作功能&#xff0c;使数据处理变得更加容易和高效。本文将深入探讨Spark中如何使用DataFrame进行数据转换和操作&#xff0…...

windows11新装机,简单评测系统自带软件(基本涵盖日常所需应用)

新年将近&#xff0c;由于当年安排的失误&#xff0c;系统盘&#xff08;100G&#xff09;和照片视频盘&#xff08;4T&#xff09;容量不够了&#xff0c;大容量的那块机械盘放在机箱里就在耳朵根吵吵&#xff0c;烦得很&#xff0c;于是狠狠心决定扩容后重配重装。 2023年最后…...

概念解析 | Shapley值及其在深度学习中的应用

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:Shapley值及其在深度学习中的应用。 1 背景介绍 在机器学习和数据分析中,理解模型的预测是非常重要的。尤其是在深度学习黑盒模型中,我们往往难以直观地理解模型的预测行为。为…...

ajax的完整写法——success/error/complete+then/catch/done+设置请求头两种方法——基础积累

ajax的完整写法——success/error/completethen/catch/done设置请求头两种方法——基础积累 1.完整写法——success/error/complete1.1 GET/DELETE——query传参1.2 GET/DELETE——JSON对象传参1.3 PUT/POST——JSON对象传参 2.简化写法——then/catch/done2.1 GET/DELETE——q…...

《Linux详解:深入探讨计算机基础》

《Linux详解&#xff1a;深入探讨计算机基础》 引言&#xff1a; 在计算机科学领域&#xff0c;操作系统是一个至关重要的概念&#xff0c;而Linux作为一种开源的Unix-like操作系统&#xff0c;不仅在服务器领域广泛应用&#xff0c;也在嵌入式系统、超级计算机等多个领域发挥…...

HarmonyOS 实践之应用状态变量共享

平时在开发的过程中&#xff0c;我们会在应用中共享数据&#xff0c;在不同的页面间共享信息。虽然常用的共享信息&#xff0c;也可以通过不同页面中组件间信息共享的方式&#xff0c;但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景&#xff0c;ArkTS…...

ThreadLocal共享变量

一、ThreadLocal 我们知道多线程访问同一个共享变量时&#xff0c;会出现线程安全问题&#xff0c;为了保证线程安全开发者需要对共享变量的访问操作进行适当的同步操作&#xff0c;如加锁等同步操作。 除此之外&#xff0c;Java提供了ThreadLocal类&#xff0c;当一个共享变…...

前端crypto-js 库: MD5

文章目录 什么是crypto-js安装依赖MD5 什么是crypto-js github地址: https://github.com/brix/crypto-js cryptojs文档: https://cryptojs.gitbook.io/docs/#encoders CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。 CryptoJS是一个JavaScript加密算法库&a…...

2024新年快乐

2024-1-1 祝福大家和自己健康喜乐&#xff0c;升职加薪&#xff0c;新年快乐 页面加载事件load 我们页面加载事件的触发是等所有的资源加载完毕时触发该事件。和click一样是事件&#xff0c;但是触发时机是等资源加载&#xff08;浏览器&#xff09;完毕。这个事件我们可以将…...

OpenCV-Python(21):轮廓特征及周长、面积凸包检测和形状近似

2. 轮廓特征 轮廓特征是指由轮廓形状和结构衍生出来的一些特征参数。这些特征参数可以用于图像识别、目标检测和形状分析等应用中。常见的轮廓特征包括&#xff1a; 面积&#xff1a;轮廓所包围的区域的面积。周长&#xff1a;轮廓的周长&#xff0c;即轮廓线的长度。弧长&…...

连接progressql报错Cannot load JDBC driver class ‘org.postgresql.Driver‘,亲测有效!!!

Jmeter连接progressql报错Cannot load JDBC driver class ‘org.postgresql.Driver’ 1.到官方下载驱动注意&#xff1a;根据项目的JDK版本来下载对应的驱动Download | pgJDBC 2.将postgresql-42.2.27.jar复制到lib目录下面&#xff0c; 然后重新启动 连接driver信息如下&#…...

SQLAlchemy快速入门

安装依赖 pip install sqlalchemy pip install pymysql创建数据库和表 # 创建数据库 drop database if exists sqlalchemy_demo; create database sqlalchemy_demo character set utf8mb4; use sqlalchemy_demo;# 创建表 drop table if exists user; create table user (id …...

java 纯代码导出pdf合并单元格

java 纯代码导出pdf合并单元格 接上篇博客 java导出pdf&#xff08;纯代码实现&#xff09; 后有一部分猿友叫我提供一下源码&#xff0c;实际上我的源码已经贴在帖子上了&#xff0c;都是同样的步骤&#xff0c;只是加多一点设置就可以了。今天我再次上传一下相对情况比较完整…...

Linux自己的应用商店yum

&#x1f4ab;Linux系统如何安装软件 在Linux系统中我们可以通过多种方式安装软件&#xff0c;常见方式有以下三种&#xff1a;   1.源代码安装   2.rpm包安装   3.使用yum软件包管理器安装   早期人们通过下载软件源代码&#xff0c;然后再经过交叉编译等一系列工作下…...

集成电路模拟设计——【基于Serdes 应用的 串化/解串器 时钟与数据恢复电路CDR】

串化/解串器 & 时钟与数据恢复电路CDR&#xff08;可提供实现过程、仿真波形与具体参数细节 本文内容摘要背景串化/解串器全速树形串化器半速树形串化器全速移位寄存器串化器多级树形解串器 PLL型CDR整体架构实现结果 Bang-Bang型CDR整体架构 PS/PI型CDR电路PS电路设计PI电…...

如何快速配置阅读APP书源:26个高质量小说资源一键导入指南

如何快速配置阅读APP书源&#xff1a;26个高质量小说资源一键导入指南 【免费下载链接】Yuedu &#x1f4da;「阅读」自用书源分享 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 阅读APP作为一款开源的小说阅读工具&#xff0c;本身不提供小说内容&#xff0c;而…...

如何彻底解决Windows系统DLL缺失问题:Visual C++运行库一键修复终极指南

如何彻底解决Windows系统DLL缺失问题&#xff1a;Visual C运行库一键修复终极指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过打开软件时突…...

用MakeCode Arcade与树莓派Zero打造复古像素游戏:从拖拽编程到实体街机

1. 项目概述&#xff1a;为什么选择MakeCode Arcade开启你的游戏开发之旅&#xff1f;如果你对编程充满好奇&#xff0c;又或者一直想亲手制作一款属于自己的复古像素风游戏&#xff0c;但被一行行复杂的代码劝退&#xff0c;那么MakeCode Arcade就是你一直在寻找的答案。它不是…...

从网站点击到疾病预测:泊松回归模型在5个真实业务场景下的应用拆解与避坑指南

从网站点击到疾病预测&#xff1a;泊松回归模型在5个真实业务场景下的应用拆解与避坑指南 在数据驱动的商业决策中&#xff0c;计数型数据的分析往往被忽视。想象一下&#xff1a;电商平台每天需要决定发送多少条推送通知&#xff0c;客服中心要预测每小时可能接到的投诉电话数…...

汉森软件冲刺港股:年营收6亿 净利1.4亿 已获IPO备案

雷递网 雷建平 5月15日深圳市汉森软件股份有限公司&#xff08;简称&#xff1a;“汉森软件”&#xff09;日前更新招股书&#xff0c;准备在港交所上市。汉森软件已获IPO备案&#xff0c;拿到了上市的钥匙&#xff0c;同期一并拿到备案的企业还包括南京海纳医药科技股份有限公…...

希伯来文语音上线倒计时72小时!ElevenLabs生产环境紧急修复清单:DNS预热、SSL证书SNI兼容、以及3个必须禁用的默认voice preset

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;希伯来文语音上线倒计时72小时&#xff1a;全局技术态势与交付承诺 希伯来文语音合成&#xff08;Hebrew TTS&#xff09;系统已进入最终验证阶段&#xff0c;核心引擎完成全链路压力测试&#xff0c;平…...

ElevenLabs 2024定价突变预警(附迁移成本计算器):Voice Cloning商用授权条款升级对SaaS产品的3重合规冲击

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs定价策略分析 核心订阅层级与功能边界 ElevenLabs 当前采用三层订阅模型&#xff08;Starter、Creator、Professional&#xff09;&#xff0c;各层级在语音生成时长、并发请求、自定义声音…...

【knife4j】接口分组配置;登录拦截器放行;登录拦截器配置token;给全局异常处理类添加注解;解决上传文件不显示文件域;参数扁平化;@Parameter

Parameter Parameter 是用来为 API 接口参数添加元数据&#xff08;描述信息&#xff09;的注解&#xff0c;这些信息最终会生成到 OpenAPI 规范的文档中&#xff0c;供 Knife4j/Swagger UI 等工具展示 简单来说&#xff1a;它让 API 的使用者能清楚地知道每个参数的含义、是…...

Cursor智能体学习工具:构建专属AI编程知识库的完整指南

1. 项目概述&#xff1a;一个为开发者量身定制的Cursor智能体学习工具如果你是一名开发者&#xff0c;并且最近正在尝试使用Cursor这款AI编程工具&#xff0c;那么你很可能和我一样&#xff0c;经历过一个既兴奋又有点迷茫的阶段。Cursor的强大毋庸置疑&#xff0c;它能理解上下…...

如何在Windows电脑上安装安卓应用:APK Installer完整使用指南

如何在Windows电脑上安装安卓应用&#xff1a;APK Installer完整使用指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接运行安卓应用吗&#x…...