Python中没有切换功能 [英] Is there no switch function in Python

查看:82
本文介绍了Python中没有切换功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我似乎无法在Python中找到switch语句。


我希望能够做到


切换(var)

案例1:

打印" var = 1"

案例2:

打印" ; var = 2"


但似乎我必须这样做。


if(var = 1)

print" var = 1"

elseif(var = 2)

print" var = 2"


是不是更容易?

I dont seem to be able to find the switch statement in Python.

I would like to be able to do

switch(var)
case 1 :
print "var = 1"
case 2:
print "var = 2"

But it seems that i have to do.

if(var=1)
print "var =1"
elseif(var=2)
print "var=2"

Is ther no easier way??

推荐答案

" Rudi Hansen" < RS ************** @ pobox.dk>写道:
"Rudi Hansen" <rs**************@pobox.dk> writes:
我希望能够做到

开关(var)
案例1:
print" var = 1
案例2:
打印var = 2"

但似乎我必须这样做。

if(var = 1 )
print" var = 1"
elseif(var = 2)
print" var = 2"

是不是更容易?
I would like to be able to do

switch(var)
case 1 :
print "var = 1"
case 2:
print "var = 2"

But it seems that i have to do.

if(var=1)
print "var =1"
elseif(var=2)
print "var=2"

Is ther no easier way??




一种方法是使用dicts:


swoosh = {1:" var = 1",2:" var = 2"}

print swoosh [var]

-

Marius Bernklev



one way is using dicts:

swoosh = {1: "var = 1", 2: "var = 2"}
print swoosh[var]
--
Marius Bernklev


Rudi Hansen< rs ************** @ pobox.dk>写道:
Rudi Hansen <rs**************@pobox.dk> wrote:
我似乎无法在Python中找到switch语句。


对,没有一个。

我希望能够做到

switch(var)<案例1:
打印" var = 1"
案例2:
打印var = 2

但似乎我必须do。

if(var = 1)
print" var = 1"
elseif(var = 2)
print" var = 2"

是不是更容易?
I dont seem to be able to find the switch statement in Python.
Right, there isn''t one.

I would like to be able to do

switch(var)
case 1 :
print "var = 1"
case 2:
print "var = 2"

But it seems that i have to do.

if(var=1)
print "var =1"
elseif(var=2)
print "var=2"

Is ther no easier way??




几个,从
开始

如果var in(1 ,2):打印''var =%s''%var


最恐怖的成语,当你必须做一些实质性的事情时

每个分支的开关,是一个可调用的词典 - 在这个玩具中

的情况下可能是:


switch = {1:lambda:sys.stdout。写(''var = 1 \ n''),

2:lambda:sys.stdout.write(''var = 2 \ n''),}

switch.get(var,lambda:'''')()


if / elif树也没问题,尽管t他的语法并不像你想象的那样......:


如果var == 1:

print''var is one''

elif var == 2:

print''var is two''


Alex



several, starting with

if var in (1,2): print ''var = %s'' % var

The most Pythonic idiom, when you have to do something substantial in
each branch of the switch, is a dictionary of callables -- in this toy
case it might be:

switch = {1: lambda: sys.stdout.write(''var=1\n''),
2: lambda: sys.stdout.write(''var=2\n''), }
switch.get(var, lambda: '''')()

An if/elif tree is also fine, though the syntax is not as you think...:

if var == 1:
print ''var is one''
elif var == 2:
print ''var is two''

Alex


在文章< CR ******************** @ news000.worldonline.dk> ;,

Rudi Hansen< rs * *************@pobox.dk>写道:
In article <CR********************@news000.worldonline.dk>,
Rudi Hansen <rs**************@pobox.dk> wrote:
我似乎无法在Python中找到switch语句。

我希望能够做到

切换( var)
case 1:
print" var = 1"
case 2:
print" var = 2"


5行,55个字符,包括打印报表。


但似乎我必须这样做。
if(var = 1)
print" var = 1"
elseif(var = 2)
print" var = 2"


4行,52个字符(一次更正),包括打印

语句(如第一个例子中所述)。

是不是更容易?
I dont seem to be able to find the switch statement in Python.

I would like to be able to do

switch(var)
case 1 :
print "var = 1"
case 2:
print "var = 2"
5 lines, 55 characters including the print statements.

But it seems that i have to do.

if(var=1)
print "var =1"
elseif(var=2)
print "var=2"
4 lines, 52 characters (once corrected) including the print
statements (as written in the first example).
Is ther no easier way??




你希望它以什么方式更容易?


- -

\S - si *** @ chiark.greenend.org.uk - http://www.chaos.org.uk/~sion/

___ | 坦率地说,我对这种或那种企鹅没有任何感情

\ X / | --Arthur C. Clarke

她的努力是什么?ddre hl?heddes b?ce bump bump bump



In what way do you want it to be "easier"?

--
\S -- si***@chiark.greenend.org.uk -- http://www.chaos.org.uk/~sion/
___ | "Frankly I have no feelings towards penguins one way or the other"
\X/ | -- Arthur C. Clarke
her nu becomet se bera eadward ofdun hl?ddre heafdes b?ce bump bump bump


这篇关于Python中没有切换功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆