python boolean_Python成为专业人士笔记-Boolean 布尔操作符研究

专业人士笔记”系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com

‘and’ 和 ‘or’ 并不一定返回一个布尔值

当使用or时,如果为真,它将返回表达式中的第一个值,否则它将直接返回第二个值,其效果和“或等于”差不多,用代码表现如下 :

def or_(a, b):

if a:

return a

else:

return b

对于and,如果为false,它将返回其第一个值,否则返回最后一个值,用代码表现如下:

def and_(a, b):

if not a:

return a

else:

return b

一个简单的例子

在Python中,你可以使用两个二进制操作符比较单个元素 :

if 3.14 < x < 3.142:

print("x 近似于 pi")

在大多数编程语言中,上面的表达式将以一种与常规数学相反的方式进行计算:

(3.14 < x) < 3.142 这样的顺序去计算;

但在Python中,它被视为 3.14 < x 并且 x < 3.142,就像大多数非程序员所期望的那样

表达式计算过程

Python会将所有布尔表达式作最简化处理,即一旦发现可以不用继续往下运行,将直接中断并返回,如下代码:

def true_func():

print("true_func()")

return True

def false_func():

print("false_func()")

return False

true_func() or false_func()

#输出:true_func() #运行到这里不继续向下运行了

#输出:True 两个只要有一个True就返回True

false_func() or true_func()

# 输出:false_func()

# 输出:true_func()

#输出:True #两个函数都被运行,到第2个函数时,发现是True,所以仍然返回True

true_func() and false_func()

# true_func()

# false_func()

# False 第一个函数为True,继续运行第二个函数发现是False,那么整体返回也是False

false_func() and false_func()

# false_func()

# 输出:False 运行第一个就发现False,整体表达式结束,返回False

and 操作符

当且仅当两个参数都为真时,计算第二个参数。否则计算为第一个falsey参数

x = True

y = True

z = x and y # z = True

x = True

y = False

z = x and y # z = False

x = False

y = True

z = x and y # z = False

x = False

y = False

z = x and y # z = False

x = 1

y = 1

z = x and y # z = 1,注意他们不是总返回布尔值

x = 0

y = 1

z = x and y # z = 0 很好理解,你就把1看做True,0看做False

x = 1

y = 0

z = x and y # z = 0 (看上面)

x = 0

y = 0

z = x and y # z = 0 (看上面)

上面示例中的1可以更改为任何真值,而0可以更改为任何假值:

在python中,假值为‘0’或'()’,真值为所有非0非空数值,你可以直接在代码里尝试

or 操作符

如果其中一个是真值, 返回表达式中第一个值;如果两个参数都是假的,则返回第二个值。

x = True

y = True

z = x or y # z = True

x = True

y = False

z = x or y # z = True

x = False

y = True

z = x or y # z = True

x = False

y = False

z = x or y # z = False

x = 1

y = 1

z = x or y # z = 1

x = 1

y = 0

z = x or y # z = 1

x = 0

y = 1

z = x or y # z = 1

x = 0

y = 0

z = x or y # z = 0 (返回第2个值)

上面示例中的1可以更改为任何真值,而0可以更改为任何假值:

在python中,假值为‘0’或'()’,真值为所有非0非空数值,你可以直接在代码里尝试

not 操作符

它返回与下列语句相反的语句:

x = True

y = not x # y = False

x = False

y = not x # y = True

今天的分享就到这里,禁止转载,违者必究!

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

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

相关文章

python八大选择排序_python之八大排序方法

排序方法 平均情况 最好情况 最坏情况 辅助空间 稳定性冒泡排序 O(n^2) O(n) O(n^2) O(1) 稳定选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定插入…

int arr 13 java,java学习13 - 数组的定义、操作、异常、二维数组

续java学习12&#xff1a;1、数组,引用类型变量&#xff0c;保存数据实际是保存的数组的首地址2、定义数组容器三要素&#xff0c;数据类型&#xff0c;大小(长度)&#xff0c;数组名3、数组的定义公式一&#xff1a;数据类型[] 数组名 new 数据类型[元素个数或数组长度]4、数…

clustalw序列比对_序列比对(二)

Homology is the central concept for all of biology.——David Wake. Science, 1994前言正如前面引用的这句话&#xff0c;同源性是生物学中的核心问题。研究序列的同源性问题&#xff0c;就要用到序列比对的工具&#xff0c;上一篇笔记简单介绍了序列比对的原理&#xff0c;…

java js引擎,Java8 Nashorn JavaScript引擎

使用Java8&#xff0c;Nashorn大大提高了JavaScript 引擎引入&#xff0c;以取代现有的Nashorn Java脚本引擎。Nashorn提供2至10倍更好的性能&#xff0c;因为它直接编译代码在存储器&#xff0c;并传递到字节码JVM.Nashorn使用invokedynamics函数&#xff0c;在Java7引入以提高…

pr渲染程序选哪个_PR的bug你遇到过几个?

哈喽 大家好呀 我是K同学&#xff01;对于Pr的用户来讲&#xff0c;Pr有很多BUG让人很奔溃&#xff0c;不仅Pr奔溃了&#xff0c;人都奔溃了作为Pr的老用户&#xff0c;今天我就来盘点下&#xff0c;我遇到过Pr的变态BUG第一个Pr不支持微软输出法这是我使用Pr遇到的第一个BUG&a…

java model 中文乱码,java传值乱码解决方法

在做JavaWeb时&#xff0c;总是时不时的会遇到中文传值乱码问题&#xff0c;在你把所有”ISO-8859-1”改成“UTF-8”发现还是没什么用。于是我就找到了一个百试百灵的方法(至少目前我是)&#xff0c;就是强行转换成“UTF-8”编码。看代码&#xff1a;RequestMapping("/suc…

检查一列数据的重复项 vba_提取重复值,但字典不是重点。

本例的问题描述&#xff1a;1&#xff1a;源数据与提取的结果在同一个工作表里面&#xff1b;2&#xff1a;提取K、M、O、Q列里面不重复的数据(注意&#xff0c;数据列里面有空白的行)&#xff1b;3&#xff1a;把提取出来的结果放在A2单元格的下方&#xff0c;不能有空白行&am…

swiper怎么让不会回弹,为什么我的滚动条拉上拉下都会回弹呢?

其它都是正常的&#xff0c;就是拉上去拉下来自己又回弹回去了&#xff0c;拉不到最底部也拉不到最顶部&#xff0c;拉来拉去都会是这样的category/index.vueimport CategoryHeader from "./header";import CategoryTab from "./tab";import CategoryConte…

异构服务器 微服务_Spring Cloud Alibaba Sidecar 多语言微服务异构

Spring Cloud Alibaba Sidecar 介绍自 Spring Cloud Alibaba 2.1.1 版本后增加了 spring-cloud-alibaba-sidecar 模块作为作为一个代理的服务来间接性的让其他语言可以使用spring cloud alibaba等相关组件。通过与网关的来进行路由的映射&#xff0c;从而可以做到服务的获取&am…

采用的php cms分校站点 打开特别慢,phpcms v9 打开网站特别慢 增加数据库缓存方法...

SET GLOBAL QUERY_CACHE_SIZE80000000;设置好查询缓存的大小就行了。比如设置个20MB.SET GLOBAL QUERY_CACHE_SIZE20000000;mysql会将查询SQL和结果集存到缓存中&#xff0c;等下次遇到相同的SQL语句时&#xff0c;结果集从缓存中读取。1.设置缓存大小时&#xff0c;至少给它40…

python3 console input_Python3 tkinter基础 Button command 单击按钮 在console中打印文本

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""Author : 行初心Date : 18-10-1Blog : www.cnblogs.com/xingchuxinGitee : gitee.com/zhichengjiu"""import tkinter as tk# 面向对象…

matlab教程点语言,编程语言 / Matlab教程_电脑教程学习网( 5 )

逐次超松弛方法(SOR方法)求解方程组日期&#xff1a;2014-09-26 21:03:34点击&#xff1a;370好评&#xff1a;0#includeiostream.h//逐次超松弛方法(SOR方法)求解方程组 #includemath.h #includeiomanip.h #define n 3 void main() { double A[n][n]{{5,2,1},{-1,4,2},{2,-3,1…

python中timedelta_Python – 使用时间戳,timedelta的日期和时间比较

我花了过去一小时挖掘Python文档和许多SO问题;请原谅我是另一个Python新手被Python时代的谜团所困扰.我的目标是确定当前时间和某个日期/时间之间的差异,而不管过去/将来,并返回可执行的格式,如秒.例如,如果输入是下午2:00和下午4:00(现在),我想要说“-7200”,表示事件发生在两…

php hex2bin nodejs,Nodejs Serialport文档翻译

版本号:Serialport5.0.0-beta3本文链接想象一个世界&#xff0c;你可以在那写javascript来控制搅拌机&#xff0c;灯&#xff0c;安全系统或者甚至是机器人。是的&#xff0c;我说的是机器人。那个世界就是这儿&#xff0c;现在使用node serialport。它提供一个非常简单的接口所…

sql 以a开头的所有记录_SQL开发与数据库管理笔记

简介&#xff1a; SQL开发与数据库管理笔记&#xff0c;看过的都说好&#xff01;原创&#xff1a; 丶平凡世界文章链接&#xff1a;https://mp.weixin.qq.com/s/Y9TmoHOyh7To7jUrMulvEw一、开发管理篇1.按姓氏笔画排序Select * From TableNameOrder By CustomerNameCollate Ch…

python apscheduler执行_Python下定时任务框架APScheduler的使用

今天准备实现一个功能需要用到定时执行任务&#xff0c;所以就看到了Python的一个定时任务框架APScheduler&#xff0c;试了一下感觉还不错。1.APScheduler简介&#xff1a;APScheduler是Python的一个定时任务框架&#xff0c;可以很方便的满足用户定时执行或者周期执行任务的需…

oracle trace发起用户,Oracle 使用TRACE进行SQL性能分析

设置sql_trace参数为true会对整个实例进行跟踪&#xff0c;包括所有进程&#xff1a;用户进程和后台进程&#xff0c;会造成比较严重的性能问题&#xff0c;生产环境一定要慎设置sql_trace参数为true会对整个实例进行跟踪&#xff0c;包括所有进程&#xff1a;用户进程和后台进…

python画二次函数图像的顶点_画二次函数图像的步骤

画二次函数图像的步骤2019-11-14 09:26:25文/叶丹画二次函数图像的步骤&#xff1a;五点法是选五个极其重要的点&#xff0c;分别为顶点、与x轴的交点、与y轴的交点及其关于对称轴的对称点&#xff0c;然后根据这五点作图。二次函数的画法五点法五点草图法又被叫做五点作图法是…

php rss xml,php 一个完全面向对象的RSS/XML类的简单示例

这篇文章主要为大家详细介绍了php 一个完全面向对象的RSS/XML类的简单示例&#xff0c;具有一定的参考价值&#xff0c;可以用来参考一下。感兴趣的小伙伴&#xff0c;下面一起跟随512笔记的小编罗X来看看吧。经测试代码如下&#xff1a;/*** RSS/XML类** param* arrange (512.…

zynq中mgtx应用_基于ZYNQ的UCOS移植(TCP通讯)

周五在某小徐处借到了一块Zedboard开发板&#xff0c;平时在公司没有机会做SDK开发的笔记&#xff0c;今天就趁着这块开发板简要记录一些SDK的基本操作。一、功能简介通过第三方库创建SDK工程在ZYNQ-UCOS中实现TCP echo通讯二、配置需求操作系统Windows 10(64位)开发环境SDK 20…