【原】python语言的 and-or 常常被用来实现类C语言中的三元运算符 : ?   ,

更为骚气的写法是  xxx and xxx or xxx and xxx or xxx,这样就可以可以做到一行实现多个表达式啦。

Code:

(1) def  Judge(a):

      if   a  > 10:

         return   "big"

      elif  a > 5:

         return "middle"

      else:

         return "small"

 (2)   def   judge (b) : 

      return   b > 10  and  "big"  or  b > 5  and  "middle"  or "small"

(1)和(2)所实现的效果是一样的

但要注意的是 and-or 并不完全等价于三元运算符,因为a and b or c,

如果b是个假值,那么就将返回c(电脑比较懒惰- -!)

不过有技巧能够实现:

 def  choose(bool, a, b):

     return (bool  and  [a]  or  [b])[0]

如果bool为真就返回[a], 不然就返回[b].  真如上面说的 电脑很懒惰 对于and ,它会先

判断and前的值是否为真,如果为真, 那么xxx and xxx 就为真。

return结尾的[0]的作用是:使结果以数字输出而不是以列表输出  结果:  加[0]   7  不加[0]  [7]

例:choose(True, 0, 6)

  >>> 0

  choose(True, 7, 6)

 >>>7

     choose(False, 0, 6)

 >>>6

   choose(False, 7, 6)

 >>>6

如果不加[0]

     choose(True, 0, 6)

 >>>[0]

就这些了  

人生苦短   我用python   QAQ

加油吧!!!

参考地址:  http://python.jobbole.com/81233/


   

Python语言and-or的用法的更多相关文章

  1. Python语言——map/reduce的用法

    Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clus ...

  2. selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

    selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...

  3. Python正则式的基本用法

    Python正则式的基本用法 1.1基本规则 1.2重复 1.2.1最小匹配与精确匹配 1.3前向界定与后向界定 1.4组的基本知识 2.re模块的基本函数 2.1使用compile加速 2.2 ma ...

  4. 1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串

    1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08 Python 代码是以Jupyter Notebook编写的,主要写的是python3的 ...

  5. 零基础学Python--------第2章 Python语言基础

    第2章  Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...

  6. python爬虫---selenium库的用法

    python爬虫---selenium库的用法 selenium是一个自动化测试工具,支持Firefox,Chrome等众多浏览器 在爬虫中的应用主要是用来解决JS渲染的问题. 1.使用前需要安装这个 ...

  7. 2.3 Python语言基础

    2.3 Python语言基础 1 语言语义(Language Semantics) 缩进,而不是括号 Python使用空格(tabs or spaces)来组织代码结构,而不是像R,C++,Java那 ...

  8. python(一):python语言基础

    一.python语言基本的8个要素 Python语言的8个要素:数据类型.对象引用.组合数据类型.逻辑操作符.运算操作符.控制流语句.输入/输出.函数的创建与引用.除此之外还有一个非常重要且无处不在的 ...

  9. 学习参考:《Python语言及其应用》中文PDF+英文PDF+代码

    学习简单的数据类型,以及基本的数学和文本操作,学习用Python内置的数据结构来处理数据: 掌握Python的代码结构和函数的用法:使用模块和包编写大规模Python程序:深入理解对象.类和其他面向对 ...

随机推荐

  1. PMO、P3O

    中国的大中型企业最近几年纷纷设立了项目管理办公室PMO,普遍关注如何发挥PMO最大的价值.而P3O指南描述了一个高阶的组织模型和机制,构建组织内部所有关于变革的决策支持与交付的结构及机制,允许永久的和 ...

  2. 开发人员应该对IIS理论层的知识了解的多一些~第四讲 HttpModule中的几大事件

    返回目录 本文主要介绍HttpModule,它在一个网页请求过程中是一个怎样的过程是我们要知道的,在网页加载过程中HttpModule在何时被执行也是我们要知道的,以及,HttpModule在网页请求 ...

  3. Mysql 事件(定时任务)

    mysql 创建任务(事件) 1.检查数据库事件是否开启,如果 event_scheduler 等于 NO表示开启 SELECT @@event_scheduler; SHOW VARIABLES L ...

  4. zabbix 3.0 安装 ubuntu环境

    zabbix 3.0 安装 标签(空格分隔): 开发 [TOC] 下载deb # wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/z ...

  5. 利用libpcap打印ip包

    #include <stdio.h> #include <pcap.h> #include <time.h> #include <netinet/in.h&g ...

  6. mysql数据库移植

    在mysql数据库移植的时候,把自己电脑上mysql中data目录的一些重要文件复制到其他电脑上,先备份一下其他电脑上的mysql的data目录,然后替换! 例如我的mysql默认的数据库文件位置:  ...

  7. 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题

    今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...

  8. FindBugs使用

    FindBugs简介: FindBugs是一个开源的eclipse 代码检查工具,是一种白盒静态自动化测试工具: 它可以简单高效全面地帮助我们发现程序代码中存在的bug,bad smell,以及潜在隐 ...

  9. [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)

    <Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...

  10. 22套精致的用户界面 PSD 源文件素材《免费下载》

    在这里,我们给大家分享一组精美的 PSD 源文件素材,可以免费下载使用.PSD 素材是很好的资源,对于每个设计师都非常有用,这是设计师之所以不断发布新的和有用的 PSD 文件的原因.高品质的 PSD ...