在Python中如何将变量与值匹配
我不知道如何在Python中实现以下内容。我有一个变量,里面有一个字符串 variable=“Normal”或variable=“Unknown” 我只想写一个If语句,它将检查变量的值,并根据它执行一些代码 在Perl中,我只需编写在Python中如何将变量与值匹配,python,Python,我不知道如何在Python中实现以下内容。我有一个变量,里面有一个字符串 variable=“Normal”或variable=“Unknown” 我只想写一个If语句,它将检查变量的值,并根据它执行一些代码 在Perl中,我只需编写 if ( $variable =~ /Normal/ ) { dosomething() } elsif ( $variable =~ /Unknown/ ) { dosomething() } else { raiseerror() }
if ( $variable =~ /Normal/ ) {
dosomething()
} elsif ( $variable =~ /Unknown/ ) {
dosomething()
} else {
raiseerror()
}
如何在Python中实现相同的功能?是否有意在
if
和elsif
中使用相同的dosomething()
?如果是这样的话,您可以通过以下方式逃脱:
if variable == "Normal":
#do something
elif variable == "Unknown":
#do something else
else:
#do another thing
if variable in ('Normal', 'Unknown'):
dosomething()
else:
raise Exception
否则,您还需要将elsif
转换为python:
if variable == "Normal":
dosomething()
elif variable == "Unknown":
dosomethingelse()
else:
raise Exception
您似乎在这里使用Perl正则表达式。因此,Python中的映射解决方案是:
import re
if re.search("Normal", variable):
do_something()
elif re.search("Unknown", variable):
do_something()
else:
raise Exception("Error")
在Python中,
re
模块中提供了正则表达式。re.search
的第一个参数类似于用Perl编写的正则表达式。如果要检查等式,可以执行variable==“Normal”
如果要检查它是否包含变量,可以执行variable中的“Normal”
如果要使用正则表达式,应该查找re
module@termcap万一你不知道,你收到的反对票很可能是因为社区对直接翻译任务非常不满,尤其是当我们没有证据表明你自己尝试过这个问题时。据我所知,你花了数小时研究这个问题,但我们无法从你所写的内容中看出这一点。您所付出的最大努力和遇到的确切错误的例子将提高问题的质量。@HansMusgrave事实上我花了大约两天的时间试图弄清楚这一点,但由于我来自Perl背景,我不希望python像bash一样工作。我在看匹配和正则表达式等。我之所以使用“翻译”一词是为了让人们更容易回答这个问题并保持简单,但似乎适得其反:)@termcap我不认为这是“翻译”一词,而是因为这个问题没有证据证明你所做的工作和你遇到的具体问题。StackOverflow的目的之一是作为如何解决特定问题类型的索引,正如所写的,您的问题可能不会直接应用于其他任何人。通过包含您观察到的具体行为和您想要的内容,我们可能会吸引用户提出相同类型的问题,并且能够从教学角度提供更量身定制的回答。