• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python and、or以及and-or语法总结

Python and、or以及and-or语法总结

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python的or和and,python中的or,if and or函数嵌套,祈使句 and/or 陈述句,and or的用法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、and:

在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
>>> 'a' and 'b' 'b' >>> '' and 'b' '' >>> 'a' and 'b' and 'c' 'c'
</div>
在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。

如果布尔上下文中的某个值为假,则 and 返回第一个假值

二、or:

>>> 'a' or 'b' 'a' >>> '' or 'b' 'b' >>> '' or [] or {}
{} >>> 0 or 'a' or 'c' 'a'
[code]
使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值

如果所有的值都为假,or 返回最后一个假值

注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值

三、and-or:

and-or 结合了前面的两种语法,推理即可。

[code]
>>> a='first' >>> b='second' >>> 1 and a or b 'first' >>> (1 and a) or b 'first' >>> 0 and a or b 'second' >>> (0 and a) or b 'second' >>>
</div>
这个语法看起来类似于 C 语言中的 bool ? a : b 表达式。整个表达式从左到右进行演算,所以先进行 and 表达式的演算。 1 and 'first' 演算值为 'first',然后 'first' or 'second' 的演算值为 'first'。

0 and 'first' 演算值为 False,然后 0 or 'second' 演算值为 'second'。

and-or主要是用来模仿 三目运算符 bool?a:b的,即当表达式bool为真,则取a否则取b。

and-or 技巧,bool and a or b 表达式,当 a 在布尔上下文中的值为假时,不会像 C 语言表达式 bool ? a : b 那样工作。

四、安全使用and-or

>>> a="" >>> b="second" >>> (1 and [a] or [b])
[''] >>> (1 and [a] or [b])[0] '' >>>
</div>
由于 [a] 是一个非空列表,所以它决不会为假。即使 a 是 0 或者 '' 或者其它假值,列表 [a] 也为真,因为它有一个元素。

一个负责的程序员应该将 and-or 技巧封装成一个函数:
def choose(bool,a,b): return (bool and [a] or [b])[0] print choose(1,'','second') #''
</div>

</div>

您可能想查找下面的文章:

  • python关键字and和or用法实例
  • python关键字and和or用法实例
  • Python and、or以及and-or语法总结
  • Python中AND、OR的一个使用小技巧

相关文章

  • Python实现二维有序数组查找的方法
  • Python中处理时间的几种方法小结
  • Python警察与小偷的实现之一客户端与服务端通信实例
  • 基于Python如何使用AIML搭建聊天机器人
  • 简介二分查找算法与相关的Python实现示例
  • python中split方法用法分析
  • Python基于scrapy采集数据时使用代理服务器的方法
  • 收集的几个Python小技巧分享
  • Python模块搜索概念介绍及模块安装方法介绍
  • python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python通过colorama模块在控制台输出彩色文字的方法
    • bpython 功能强大的Python shell
    • Python实现堆排序的方法详解
    • Python中列表元素转为数字的方法分析
    • Python实现分割文件及合并文件的方法
    • Python运算符重载用法实例分析
    • Python操作SQLite简明教程
    • Python常用模块介绍
    • Python中的默认参数详解
    • python获取Linux下文件版本信息、公司名和产品名的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有