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

python三元运算符实现方法

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

通过本文主要向大家介绍了python 三元运算符,三元运算符,三元运算符java,c#三元运算符,php 三元运算符等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这是今天在温习lambda表达式的时候想到的问题,众所周知C系列语言中的 三元运算符(?:)是一个非常好用的语句,

关于C中的三元运算符

表达式1?表达式2:表达式3

那么在python应该如何实现呢,请看下面例子:

答案是:X = (表达式1)and 表达式2(真值返回)or 表达式3(假值返回)

举个例子:

这段代码的是意思的输出是4,可以把表达式的条件改为(y<=5)这时候输出就是2

为什么能得到这样的结果:

0、''、[]、()、{}、None在布尔上下文中为假;其它任何东西都为真。
在Python中,and和or执行布尔逻辑演算,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
如果布尔上下文中的所有值都为真,那么and返回最后一个值。上下文中的某个值为假,则and返回第一个假值。
如果有一个值为真,or立刻返回该值。如果所有的值都为假,or返回最后一个假值
基于上述的背景,你应该还能理解这个表达式的含义了吧。

“注:“里面应该是这个用法的一些缺陷,如果表达式2或3是几个定义的假值(0、''、[]、()、{}、None)之一,就会影响判断了,我的建议是吧这些假值都用字符串的形式表现,并且将“”特殊处理为“”。后续再做判断

再次见识到Python的强大,如果您有什么见解欢迎评论。

后记:

最近看了一些文章,有位大神对这个问题对这个缺陷给了一个完美的解决方案

X=(表达式1)and[表达式2(真值返)]or[表达式3(假值返回)](注:表达式2以及表达3不能为0、''、[]、()、{}、None)

对表达式2,3用中括号括起来,这样两者的值将永远不会为假,这个解决方案的确不错。

</div>

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

  • 举例讲解Python中的身份运算符的使用方法
  • Python中数字以及算数运算符的相关使用
  • 举例讲解Python中的身份运算符的使用方法
  • Python中数字以及算数运算符的相关使用
  • 讲解Python中运算符使用时的优先级
  • 讲解Python中的标识运算符
  • 举例讲解Python中的算数运算符的用法
  • Python三元运算实现方法
  • Python三元运算实现方法
  • python基础教程之常用运算符

相关文章

  • python益智游戏计算汉诺塔问题示例
  • 使用Python绘制图表大全总结
  • Python 中urls.py:URL dispatcher(路由配置文件)详解
  • Python简单遍历字典及删除元素的方法
  • Python环境下搭建属于自己的pip源的教程
  • python使用cookie库操保存cookie详解
  • python一键升级所有pip package的方法
  • Python利用pyHook实现监听用户鼠标与键盘事件
  • 一篇不错的Python入门教程
  • Python 中的 else详解

文章分类

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

最近更新的内容

    • python使用socket进行简单网络连接的方法
    • Python中将字典转换为XML以及相关的命名空间解析
    • Python 第一步 hello world
    • Python标准库之Sys模块使用详解
    • python字典基本操作实例分析
    • python3中dict(字典)的使用方法示例
    • python循环监控远程端口的方法
    • Python操作RabbitMQ服务器实现消息队列的路由功能
    • Python升级提示Tkinter模块找不到的解决方法
    • 在Python中关于中文编码问题的处理建议

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

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