逻辑运算

一、逻辑运算符的种类及优先级

▷逻辑运算符包括 not and or 

▷他们的优先级是 () > not > and > or

二、普通逻辑运算

▷A and B --->  A和B都位真的时候结果为真,有一个为假结果即为假

▷A or    B --->  A和B有一个为真结果即为真

A和B可以为 bool值(True、False),可以为比较运算(3>1 、4<3 、1 !=1 )

三、两边为数字的逻辑运算

大家都知道,0可以用来表示bool值 False,而除了0之外的所有数字都可以表示bool值True,

所以说,逻辑运算两边也可以用数字表示

▷ or 运算

从上面的例子可以看出  A or B  ,当A的值为Ture的时候,返回的是A的值,当A的值为False的时候,返回的为B的值(A、B为数字类型就返回数字类型,为布尔类型就返回布尔类型)

A、B为比较运算的时候同样适用上面的那个结论

▷ and 运算

与or运算刚好相反,当运算符为and的时候,A and B ---> A若为真,则结果为B,A若为假则结果为A

四、总结

A  or  B    A为真,结果为A。   A为假,结果为B

A and B   A为真,结果为B,   A为假,结果为A  

PS:

▷ A或者B为数字的时候,返回的就是数字,A或B为布尔类型或者比较运算的时候,返回的值为True或者False

▷ or与and的结果恰好相反,记一种即可

其实往深层次想一下,之所以会有这样的结果,跟计算机运算逻辑有关

我们都知道,A and B ,两边均为真的时候结果才为真,而如果计算机检测到A为False的时候,那么不管B为何止何值,结果均为False,所以计算机只需要返回A的值即可

它甚至不会去读B的值,所以结果不可能会是B,为了验证这个猜测,我们给B赋一个毫无逻辑性的东西试一下

大家可以看到,计算机检测到 and 前面为0(False)的时候,它就不会去检测后面的值了,所以我们输入了一串乱七八糟毫无逻辑的字符串它还是不会报错,直接返回0

而如果计算机检测到A为True的时候,那么它才会去检测B的值,B为真,结果为真,B为假,结果为假,所以只需要直接返回B的值即可(当然,B就不能为毫无逻辑的字符串了)

同理,当A or B的时候,两边有一个为真即为真,所以如果A为真的话,计算机就不会去检测B的值,直接返回A的值,验证如下:

而当A为假的时候,它才会去检测B的值,B为真,结果为真,B为假,结果为假,所以只需要直接返回B的值即可,这就能很好的理解上面的结论了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 每周学点大数据 | No.76 众包算法实践——认识 AMT

    本文为灯塔大数据原创内容,欢迎个人转载至朋友圈,其他机构转载请在文章开头标注 编者按:灯塔大数据将每周持续推出《从零开始学大数据算法》的连载,本书为哈尔滨工业...

    灯塔大数据
  • 熵的理解

    ---- 熵 熵在信息论中代表随机变量不确定度的度量。一个离散型随机变量X的熵H(X)定义为: image.png 明确定义的科学名词且与内容无关,而且不随信息...

    BrianLv
  • 简述极大似然估计

    极大似然估计是一种参数估计的方法。 先验概率是 知因求果,后验概率是 知果求因,极大似然是 知果求最可能的原因。 即它的核心思想是:找到参数 θ 的一个估计...

    杨熹
  • 机器学习读书笔记一

    ---- 概述 最近在看周教授的《机器学习》,书中很多理论知识非常适合入门和学习。故把每一章的自己读书笔记和记录给写下来。 基本术语 机器学习:机器学习致力于研...

    BrianLv
  • 线性代数基础之A的LU分解

    ---- 概述 在线性代数基础之矩阵乘法已经介绍了矩阵乘法的行图像和列图像代表什么什么意义,包括在求解Ax=b的线性方程组是通过消元法来求解该方程组以及矩阵的逆...

    BrianLv
  • Spring Cloud限流详解(附源码)

    在高并发的应用中,限流往往是一个绕不开的话题。本文详细探讨在Spring Cloud中如何实现限流。 在 Zuul 上实现限流是个不错的选择,只需要编写一个过滤...

    用户1516716
  • 机器学习之K近邻算法

    ---- 概述 AI不断的火起来了,作为工程化的码农,也得奔向国际化轨道了。至于机器学习是什么,不知道找百科。现在大多数机器学习都是采用监督学习形式。我们学习一...

    BrianLv
  • 详解循环神经网络(Recurrent Neural Network)

    今天的学习资料是这篇文章,写的非常详细,有理论有代码,本文是补充一些小细节,可以二者结合看效果更好: https://zybuluo.com/hanbingt...

    杨熹
  • 计算机科学中最重要的 32 个算法

    奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutsch...

    前朝楚水
  • 报告 | 区块链技术:“自我摸索”成最优运维解决方案

    前言 1月9日晚,朋友圈刷屏了徐小平的预言“区块链革命到来,这是一场顺我者昌,逆我者亡的伟大革命”。什么是区块链?区块链主要应用在哪些行业?区块链的运维方案是什...

    灯塔大数据

扫码关注云+社区

领取腾讯云代金券