浅谈python为什么不需要三目运算符和switch

yipeiwu_com7年前Python基础

对于三目运算符(ternary operator),python可以用conditional expressions来替代

如对于x<5?1:0可以用下面的方式来实现

1if x<5else 0

注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本

对于2.5之前的版本,可以用下面这种形式

X<5and1or 0

对于switch,我们完全可以用dictionary来实现,看下面的例子

>>>def switch(choice):
return dict(enumerate(range(4)))[choice]

>>> switch(1)
>>> switch(0)


values = {
  value1: do_something1,
  value2: do_something2,
  ...
  valueN: do_somethingN,
  }

values.get(var, do_default_something)()


  

以上就是小编为大家带来的浅谈python为什么不需要三目运算符和switch全部内容了,希望大家多多支持【听图阁-专注于Python设计】~

相关文章

浅析Python多线程下的变量问题

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就...

python2和python3应该学哪个(python3.6与python3.7的选择)

首先先说一下python2与python3的选择 许多刚入门 Python 的朋友都在纠结的的问题是:我应该选择学习 python2 还是 python3? 对此,回答是:果断 Pyth...

数据挖掘之Apriori算法详解和Python实现代码分享

数据挖掘之Apriori算法详解和Python实现代码分享

关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系,最早是为了发现超市交易数据库中不同的商品之间的关系。(啤酒与尿...

浅谈python图片处理Image和skimage的区别

浅谈python图片处理Image和skimage的区别

做cnn的难免要做大量的图片处理。由于接手项目时间不长,且是新项目,前段时间写代码都很赶,现在稍微总结(恩,总结是个好习惯)。 1,首先安装python-Image和python-ski...

python多进程操作实例

python多进程操作实例

由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况我们需要使用多进程。 这也许就是pyt...