如何将变量与 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
是否有意在 if
和 elsif
中使用相同的 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 中编写的正则表达式。
我不知道如何在 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
是否有意在 if
和 elsif
中使用相同的 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 中编写的正则表达式。