如何将变量与 Python 中的值匹配

How to match a variable with value in Python

我不知道如何在 Python 中实现以下目标。我有一个变量,里面有一个字符串

变量 = "Normal" 或变量 = "Unknown"

我只想编写一个 If 语句来检查变量的值并根据它执行一些代码。

在 Perl 中我会简单地写

if ( $variable =~ /Normal/ ) {
    dosomething()
} elsif ( $variable =~ /Unknown/ ) {
    dosomething()
} else {
    raiseerror()
}

如何在 Python 中实现同样的效果?

if variable == "Normal":
    #do something
elif variable == "Unknown":
    #do something else
else:
    #do another thing

是否有意在 ifelsif 中使用相同的 dosomething()?如果是这样,您可以摆脱以下问题:

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 中编写的正则表达式。