我们知道C语句中存在问号表达式,例如下面:

1

a=2>1? 10: -10;

那么,Python脚本语言中是否也存在类似的问号表达式呢?答案是肯定的。而且存在两种方式。

方式1:使用if else实现

如下例:

1

b= 5
a= 2 if b== 4 else 1
print a

方式2:使用逻辑运算符实现

如下例:

1

b= 5
a= b== 4 and 2 or 1

要注意:使用逻辑运算时要保证and后面的变量值不能为非,否则会出错。

提示

python中的and和or和其它语言的区别很大。其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。那个值决定了这个表达式的值,就返回那个值。请看下面的例子:

>> 5 and ''

这里结果是'', 空字符串, 因为是它导致了这个表达式为false.

也就是所在and中,只有前面一个值是false的时候,才有可能成为结果。否则就是后面的值为结果。

了解了and和or运行的过程,那么就可以实现上面的?表达式了。

或关注我们的官方微博微信,还有更多惊喜哦~

python问号表达式_python中的问号表达式相关推荐

  1. python正则表达式面试_Python面试 Re-正则表达式

    1.python正则表达式中匹配(match)和查找(search)的区别 答:正则表达式中match和search的方法比较相似 相同点:都是在一个字符串s中寻找pat子字符串,如果能找到,就返回一 ...

  2. python def函数_Python教程之Lambda表达式知识概述

    在Python中,除了def之外,还提供了一种生成函数对象的表达式形式,即Lambda表达式,它可以创建小的匿名函数,起到一个函数速写的作用.接下来的好程序员Python学习课程就给大家分享Lambd ...

  3. python绘制梅花_Python | 巧用生成表达式、让循环显得高大上 !

    Python资源共享群:626017123 在 Python 中使用生成表达式,有以下三点好处: 1. 提高代码运行速度 2. 简化代码,使代码显得更精炼 3. (重点)是你的代码看上去像" ...

  4. python赋值语句格式_Python中变量和变量赋值的几种形式

    动态类型的语言 python是动态类型的语言,不需要声明变量的类型. 实际上,python中的变量仅仅只是用来保存一个数据对象的地址.无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保 ...

  5. python的命名空间_python中命名空间的三种方式介绍(附示例)

    本篇文章给大家带来的内容是关于python中命名空间的三种方式介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. python中的命名空间分三种: 内置的命名空间,在启动解 ...

  6. python 惰性属性_python中惰性对象

    惰性对象是什么? 首先需要明确啥是惰性计算(lazy evaluation):是指仅仅在真正需要执行的时候才计算的表达式的值.充分利用其特点 可以带来很多的便利 1. 避免不必要的计算,带来性能的提升 ...

  7. python正则表达式空格_python中的正则表达式的使用

    一.正则表达式简介 正则表达式:又称正规表示式.正规表示法.正规表达式.规则表示式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或者是RE),是计算 ...

  8. java8的表达式_java8中的Lambda表达式

    lambad表达式是一个匿名函数,既没有函数名的函数.在lambda表达式出现之前,java中更多使用的是匿名内部类所以有些刚刚接触lambda表达式的人会把lambda表达式误认为就是匿名内部类的简 ...

  9. lambda java 表达式_Java中的Lambda表达式

    介绍 Lambda函数是 Java 8 附带的一项功能,它是该语言向 函数式编程 迈出的第一步,这是实现各种兼容 范例的 有用功能的普遍趋势. 引入lambda函数的动机主要是为了减少传递给类实例以模 ...

最新文章

  1. 4.聚类的五种主要算法
  2. 鸽巢原理(抽屉原理)的详解
  3. WinForm经典窗体皮肤[重绘]
  4. 央行变相降准祭出又一新手段 引发同业套利之忧
  5. Web 前端攻防(2014版)-baidu ux前端研发部
  6. Java银行类编程题
  7. cesium添加填充_cesium编程中级(四)使用渐变纹理
  8. springboot连接redis错误 io.lettuce.core.RedisCommandTimeoutException:
  9. javascript时间函数
  10. 我的世界服务器无限背包,我的世界 无限背包MOD 我的世界1.7无限背包MOD
  11. 《编码:隐匿在计算机软硬件背后的语言》读书笔记整理总结
  12. 模拟小白:挑战23天JAVA程序设计从入门到精通第一天
  13. 松下P2卡数据恢复-删除/格式化100%完美恢复-解决方案
  14. java会签_工作流引擎会签,加签,主持人,组长模式 专题讲解
  15. 新一代 IT 服务管理平台 DOSM,助力企业数字化转型
  16. python实现百万英雄答题神器
  17. 基于人工兔优化算法的函数寻优和工程优化
  18. [转贴]迅雷十年反思
  19. Java实现输入年份,输出对应的生肖年
  20. 业界最快的高转速马达,追觅科技V12无线吸尘器

热门文章

  1. Oracle 数据泵使用——导入、导出
  2. 凯斯西储大学计算机工程排名,[转载]凯斯西储大学排名及世界排名【研究生】...
  3. centos7部署nodejs新版
  4. C# 获取gzip网页解压处理
  5. 查重多少合格_期刊论文查重一般多少合格?
  6. TortoiseGit 客户端安装及使用
  7. 24 | 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?
  8. 高一计算机专业班主任工作总结,2016学年上学期高一班主任工作总结
  9. C++从入门到进阶近100本书推荐电子书pdf
  10. 【C++深度剖析教程28】C++对象模型分析