专业人士笔记”系列目录:创帆云: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

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

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

  1. python heapq_Python成为专业人士笔记–Heapq 堆操作

    "专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 堆介绍 一种著名的数据结构是堆(heap),它 ...

  2. python按位翻转_Python成为专业人士笔记-位操作符

    "专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 按位操作符直接操作二进制的字符串,这些是最基本 ...

  3. python列表操作计算列表长度并输出_Python成为专业人士笔记–List列表

    专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com Python列表是Python程序中广泛使用的一种通用数据 ...

  4. math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析

    "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com Python可以执行常见的数学运算符,包括整 ...

  5. [转载] [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法

    参考链接: Python字符串| 十六进制 hexdigits 参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专 ...

  6. [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法

    参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.z ...

  7. 冲击python二级——布尔操作符,比较操作符,控制流的基础

    ##认识个新朋友 >>> input("请输入你的姓名:") 请输入你的姓名:白加黑 '白加黑' >>> >>>help(in ...

  8. python方法和函数的格式是完全一样的_Python成为专业人士笔记-返回变量形式函数- str() 和 repr()...

    "专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 有两个函数可用于获取对象的可读表示 ,常用于打 ...

  9. python 队列 一次取多个_Queue 队列模块-Python成为专业人士笔记

    "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!​zhuanlan.zhihu.com 介绍 队列模块能实现多生产者.多消费者的队列 ...

最新文章

  1. usaco ★Fractions to Decimals 分数化小数
  2. matlab2018无法使用qcat,解决Matlab 2018a源代码的中文支持问题
  3. linux死机了怎么办?
  4. 【转】程序员该做的事 - 每天、每周、每月
  5. ZStack获1亿元B轮融资,深创投领投、阿里云继续跟投
  6. [安卓基础] 008.Android中的显示单位
  7. 就想问问你们,这种女朋友从哪里来的?
  8. 日期相减 python_如果将excel的数字转化为日期(高级教程)
  9. SNMP实现交换机的信息采集——MIB
  10. IDEA打包失败解决方案
  11. FusionStorage原理及组件
  12. CC1310空中升级笔记04 WSN OAD Example
  13. python tokenize怎么用_tokenize --- 对 Python 代码使用的标记解析器 — Python 3.9.1 說明文件...
  14. 肖特基二极管在防止电源反接的作用
  15. 中兴算法大赛深度学习模型优化加速解决方案总结
  16. 2008 IT图书大盘点
  17. 7针oled显示中文及图片arduino。ug8lib
  18. 根据身高体重计算某个人的BMI值
  19. 工作1-2年,月薪3000不可怕,可怕的是能力与之相匹配
  20. C++ Crow web框架使用;升级cmake ;pthread、boost、asio 报错

热门文章

  1. linux系统安装锐捷客户端下载,Linux在宿舍里如何上网?--Fedora下锐捷802.1x客户端软件的安装和使用方法...
  2. r语言合并多个csv文件_PDF合并怎么做?分享多个PDF文件合并的方法
  3. 华为ac控制器web配置手册_家庭WIFI网络规划设计与配置实战,一文教会你
  4. [蓝桥杯][算法提高VIP]分分钟的碎碎念(dfs)
  5. Disturbed People(思维)
  6. ExcelPro《EXCEL图表之道-如…
  7. 【编译原理】文法的基本概念
  8. android 删除路径文件内容,Android 删除已知路径的文件或文件夹
  9. lisp 河道水面线计算_天然河道水面线计算的几种方法解剖.pdf
  10. excel 如何用vba将某一条记录移动到另一张工作表中_EXCEL常用快捷键