替换Python中的switch语句?

286 阅读1分钟

与其他编程语言不同,Python 没有开关语句的概念。所以我们使用字典映射来实现Python中的开关语句。

现在我们来讨论一下字典映射。考虑一个名为 switch_equivalent的字典 ,其键和值如下。

例子。

switch_equivalent = {0: "Zero", 1: "One", 2: "Two"}

这里我们定义了一个名为 fun() 的函数 它有一个字典 switch_equivalent ,并返回传入它的相应参数 (key) 的取值。

例子。

def funn(number):
   switch_equivalent = {
      0: "Zero", 
      1: "One", 
      2: "Two"
   }
   return switch_equivalent.get(number, "null")


if __name__ == "__main__":
   number=2
   print (fun(number))

输出。

如果字典中存在所传递的参数(key),则字典方法 get() 返回该参数的值,否则第二个参数将被分配为所传递参数的默认值。

下面是上述 Python 代码的 C++ 对应代码,以便更好地理解。

例子。

using  namespace std;

string fun(int number)
{
   switch(number)
   {
      case 0:
         return "zero";
      case 1:
         return "one";
      case 2:
         return "two";
      default:
         return "null";
   };
};

int main()
{
   int argument = 0
   cout << fun(number);
   return 0;
}

Python 3.10版本有许多新的更新,其中之一是在Python中实现了switch case语句。这就是所谓的 匹配案例

语法。

 match variable_name:

case ‘pattern1’ : 

       //statement 1

case ‘pattern2’ : 

       //statement 2

   …………...
case ‘pattern n’ : 
       //statement n

匹配案例由三个主要部分组成。

  • 匹配关键字
  • 一个或多个case子句
  • 每个案例的表达式或语句

下面是我们上面讨论的等效的匹配案例代码。

例子。

def f(x):
   match x:
      case 1:
         return "One"
      case 2:
         return "Two"
      case 3:
         return "Three"

The postReplacement for switch statements in Python?appeared first oni2tutorials.