iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现switch/case语句
  • 298
分享到

Python实现switch/case语句

Pythonswitch语句case语句 2022-06-02 22:06:55 298人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录使用if…elif…elif…else 实现switch/case使用字典 实现switch/case在类中可使用调度方法实现switch/case总结使用if…elif…elif…else 实现switch/c

目录
  • 使用if…elif…elif…else 实现switch/case
  • 使用字典 实现switch/case
  • 在类中可使用调度方法实现switch/case
  • 总结

使用if…elif…elif…else 实现switch/case

可以使用if…elif…elif..else序列来代替switch/case语句,这是大家最容易想到的办法。但是随着分支的增多和修改的频繁,这种代替方式并不很好调试和维护。

使用字典 实现switch/case

可以使用字典实现switch/case这种方式易维护,同时也能够减少代码量。如下是使用字典模拟的switch/case实现:


def num_to_string(num):
    numbers = {
        0 : "zero",
        1 : "one",
        2 : "two",
        3 : "three"
    }
    return numbers.get(num, None)
if __name__ == "__main__":
    print num_to_string(2)
    print num_to_string(5)

执行结果如下:

two
None

python字典中还可以包括函数或Lambda表达式,代码如下:


def success(msg):
    print msg
def debug(msg):
    print msg
def error(msg):
    print msg
def warning(msg):
    print msg
def other(msg):
    print msg
def notify_result(num, msg):
    numbers = {
        0 : success,
        1 : debug,
        2 : warning,
        3 : error
    }
    method = numbers.get(num, other)
    if method:
        method(msg)
if __name__ == "__main__":
    notify_result(0, "success")
    notify_result(1, "debug")
    notify_result(2, "warning")
    notify_result(3, "error")
    notify_result(4, "other")

执行结果如下:

success
debug warning error
other

通过如上示例可以证明能够通过Python字典来完全实现switch/case语句,而且足够灵活。尤其在运行时可以很方便的在字典中添加或删除一个switch/case选项。

在类中可使用调度方法实现switch/case

如果在一个类中,不确定要使用哪种方法,可以用一个调度方法在运行的时候来确定。代码如下:


class switch_case(object):
    def case_to_function(self, case):
        fun_name = "case_fun_" + str(case)
        method = getattr(self, fun_name, self.case_fun_other)
        return method
    def case_fun_1(self, msg):
        print msg
    def case_fun_2(self, msg):
        print msg
    def case_fun_other(self, msg):
        print msg
if __name__ == "__main__":
    cls = switch_case()
    cls.case_to_function(1)("case_fun_1")
    cls.case_to_function(2)("case_fun_2")
    cls.case_to_function(3)("case_fun_other")

执行结果如下:

case_fun_1
case_fun_2
case_fun_other

总结

就个人来说,使用字典来实现switch/case是最为灵活的,但是理解上也有一定的难度。

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Python实现switch/case语句

本文链接: https://www.lsjlt.com/news/11187.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现switch/case语句
    目录使用if…elif…elif…else 实现switch/case使用字典 实现switch/case在类中可使用调度方法实现switch/case总结使用if…elif…elif…else 实现switch/c...
    99+
    2022-06-02
    Python switch语句 case语句
  • Python switch/case语句
    与Java、C\C++等语言不同,Python中是不提供switch/case语句的,这一点让我感觉到很奇怪。我们可以通过如下几种方法来实现switch/case语句。 使用if…elif…elif…else 实现switch/c...
    99+
    2023-01-31
    语句 Python switch
  • Python如何实现switch/case语句
    这篇文章主要介绍了Python如何实现switch/case语句,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用if…elif…elif…else 实现switch/cas...
    99+
    2023-06-20
  • Java switch case语句详解
    if…else 语句可以用来描述一个“二岔路口”,我们只能选择其中一条路来继续走,然而生活中经常会碰到“多岔路口”的情况。switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中的一个执行。 s...
    99+
    2023-09-01
    java 开发语言 Powered by 金山文档
  • 如何在Python中实现真正的switch-case语句
    这篇文章给大家分享的是有关如何在Python中实现真正的switch-case语句的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Python 中实现真正的 switch-case 语句。这是使用字典来模仿 s...
    99+
    2023-06-27
  • python实现switch语句
    Switch语句用于编写多分枝结构的程序,类似与if…elif…else语句。Switch语句表达的分支结构比if…elif…else语句表达的更清晰,代码的可读性更高。但是python并没有提供switch语句python通过定义字典,调...
    99+
    2023-01-31
    语句 python switch
  • c语言switch case语句怎么使用
    switch case语句是C语言中的一种流程控制语句,它用于根据不同的条件执行不同的操作。以下是switch case语句的基本语...
    99+
    2023-09-05
    c语言
  • java中的switch case语句的用法
    本篇内容主要讲解“java中的switch case语句的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的switch case语句的用法”吧!s...
    99+
    2022-10-19
  • C++中如何使用switch-case语句
    今天就跟大家聊聊有关C++中如何使用switch-case语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果...
    99+
    2023-06-17
  • 如何在Python中实现switch语句?
    Python是一种功能强大的高级编程语言,提供了各种语法和面向对象的编程方式。然而,尽管Python提供了一些控制流语句,例如if和for语句,但并不支持switch语句。在本文中,我们将探讨如何在P...
    99+
    2023-09-01
    python 数学建模 开发语言
  • Java 如何在switch case语句中声明变量
    目录在switch case语句中声明变量第一种情况常见的场景为第二种情况常见的场景为Java switch-case语句用法及例题原理归原理,下面是一个例题在switch case...
    99+
    2022-11-12
  • C语言switch case语句的执行流程是什么
    C语言的switch case语句的执行流程如下:1. 首先,计算switch语句中的表达式的值。2. 根据表达式的值,程序将跳转到...
    99+
    2023-09-20
    C语言
  • python中Switch/Case实现的示例代码
    学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现。所以不妨自己来实现Switch/Case功能。 使用if…elif…el...
    99+
    2022-06-04
    示例 代码 python
  • 为什么switch case语句在java中需要加入break
    本篇文章为大家展示了为什么switch case语句在java中需要加入break,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java 中使用switch case语句需要加入break 做了具体...
    99+
    2023-05-31
    java switch case
  • Python中的Switch Case语法时是怎样的
    本篇文章给大家分享的是有关Python中的Switch Case语法时是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python3.1...
    99+
    2022-10-19
  • 如何用c++表驱动替换if/else和switch/case语句
    目录C++的表驱动法 一、常用示例 二、表驱动法三、C++实现注意 四、实用案例C++的表驱动法 目的:使用表驱动法,替换复杂的if/else和switch/ca...
    99+
    2022-11-12
  • Python为什么不支持switch语句
    一、简洁性和可读性 Python的设计哲学之一是代码的简洁性和可读性。引入”switch”语句可能会增加语言的复杂性,并且可以用其他方式更清晰地表达相同的逻辑。Python鼓励使用”if-elif-else”语句来处理多个条件情况,这种方式...
    99+
    2023-10-29
    不支持 语句 Python
  • linux bash shell中case语句的实例
    bash case语句的例子。 分享一段bash shell代码,对于学习bash的同学理解case语句的用法,会有帮助。 例子: #!/bin/bash### Program:# File operat...
    99+
    2022-06-04
    语句 实例 bash
  • python如何利用字典与函数实现switch case功能
    python如何利用字典与函数实现switch case功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 Python不像C/C++,J...
    99+
    2022-10-18
  • C语言中switch语句基本用法实例
    目录switch语句:switch语句的基本格式C语言switch语句用法补充:用switch来给成绩等级 总结switch语句: 实际生活中,需要做出很多选择,大家都知道...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作