Python与C#关于switch的使用区别

Python与C#关于switch的使用区别

  • 前言
  • C#的switch使用方式
  • python的switch操作
    • 第一种
    • 第二种
    • 第三种
  • 总结


前言

在习惯C#编程后,在多种解析情况下,都使用到了switch case,可以输入不同的值,来执行不同的操作或者定义。在最近使用过程中,接触到python,发现没有自带的switch case语句,记录一下两者的使用区别!


C#的switch使用方式

switch (value)
{
    case 1: xx;break;
    case 3:xx;break;
    case 4:xx;break;
    default:break;
}

这里就是将value输入switch中,根据value值得不同执行不同分支的内容。甚至还可以多分支执行相同的语句。

switch (value)
{
    case 1: 
    case 3:xx;break;
    
    case 4:xx;break;
    default:break;
}

这种情况下,就是当value为1或者3时,执行xx程序后再退出switch操作。

python的switch操作

由于python没有自带的switch操作,就需要我们自己编写来实现。

第一种

使用 if-elif-else

def switch_case(case):
    if case == 1:
        return "Case 1"
    elif case == 2:
        return "Case 2"
    elif case == 3:
        return "Case 3"
    else:
        return "Default case"

# 使用
case_value = 2
result = switch_case(case_value)
print(result)  

第二种

match匹配使用,个人亲用,match装不上去,放弃了。

看着应该很好用,大家可以自己使用一下。应该是最接近switch的方式。

def switch(value):
    match value:
        case 1:
            return "Case 1"
        case 2:
            return "Case 2"
        case _:
            return "Default case"

# 使用
case_value = 2
result = switch(case_value)
print(result)  # 输出: Case 2

第三种

switcher = {
    0: xx,    #case 1
    1: yy,    #case 2
    2: zz,    #case 3
}
action=switcher.get(n, "Default case")

这种是以n为输入数据,根据n的不同来获取对应的数据,可以理解为字典。0: xx相当于keyvalue。通过keyvalue来类似switch的操作。
如果 n 不存在,则返回默认值 “Default case”。

这是我自己用起来最好用,目前感觉代码量最少的。但是如果你需要获取的是数值,可能会出现转化问题!


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Python与C#关于switch的使用区别。总的来说,C#中使用可能更便捷,python使用switch需要转化,会更加花时间!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/886008.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法笔记(四)——模拟

算法笔记(四)——模拟 文章目录 算法笔记(四)——模拟替换所有的问号提莫攻击Z字形变换外观数列数青蛙 模拟算法就是根据题目的要求,题目让干神马就做神马,一步一步来 替换所有的问号 题目:替换…

初识TCP/IP协议

回顾上文 来回顾一下TCP协议的特性,有一道比较经典的题:如何使用UDP实现可靠传输,通过应用程序的代码,完成可靠传输的过程? 原则,TCO有啥就吹啥,引入滑动窗口,引入流量控制&#x…

【RabbitMQ——具体使用场景】

1. 异步 1.1 同步异步的问题(串行) 串行方式:将订单信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端 public void makeOrder(){// 1 :保存订单 orderService.…

排水系统C++

题目: 样例解释: 1 号结点是接收口,4,5 号结点没有排出管道,因此是最终排水口。 1 吨污水流入 1 号结点后,均等地流向 2,3,5 号结点,三个结点各流入 1/3 吨污水。 2 号结点流入的 1/3​ 吨污水将均等地流向…

nginx打包部署前端vue项目全过程【保姆级教程】

🤹‍♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持…

【JavaScript】Bit:组件驱动开发的新时代

Bit 是一个现代化的开发工具,帮助开发者通过组件驱动的方式进行软件开发和协作。它旨在解决开发大型系统时的常见挑战,如组件的复用性、独立性和协作性问题。通过 Bit,开发团队可以更加轻松地共享、管理和维护可复用的代码组件,同…

初识算法 · 双指针(2)

目录 前言: 盛最多水的容器 题目解析: 算法原理: 算法编写: 有效三角形的个数 题目解析: 算法原理: 算法编写: 前言: 本文介绍两个题目,盛最多水的容器和有效三…

Jenkins: fontconfig head is null, check your fonts or fonts configuration;

​ 在部署jenkins第一次启动时遇到如下报错: 一大串报错,看的让人脑瓜疼。。。静静地分析一下日志,发现第一行报错信息: fontconfig head is null, check your fonts or fonts configuration。 这是个什么鬼,我也不…

师生健康信息管理:SpringBoot技术突破

第4章 系统设计 4.1 系统体系结构 师生健康信息管理系统的结构图4-1所示: 图4-1 系统结构 登录系统结构图,如图4-2所示: 图4-2 登录结构图 师生健康信息管理系统结构图,如图4-3所示。 图4-3 师生健康信息管理系统结构图 4.2…

linux文件编程_文件

1. 文件编程概述 之前在windows中对文件的操作是:打开文档—>编辑文档—>保存文档—>关闭文档 我们的Linux文件编程主要是利用代码对文件进行操作:文件创建、打开、编辑等自动化执行等 在Linux我们要使用编程调用api函数的方式进行文档的编辑…

数据结构-链表笔记

移除节点 203. 移除链表元素 - 力扣(LeetCode) /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListN…

C++杂项

作业&#xff1a; 将之前实现的顺序表、栈、队列都更改成模板类 顺序表 #include <iostream>using namespace std;template<typename T>class SeqList { private:T *ptr;int size; //总长度int len 0; //当前顺序表实际长度public://初始…

Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官

gitee平台源码 github平台源码 饮食陪伴师是一个管理饮食的原生大模型小程序&#xff0c;优势&#xff1a; 精确营养监控&#xff1a;用户记录饮食后&#xff0c;我们会计算出食用的营养成分与分量&#xff0c;并反馈给用户。饮食建议有效&#xff1a;大模型经过我们训练具备大…

中建材信云智联项目总监张瑞洲受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 中建材信云智联科技有限公司数字化事业部项目总监张瑞洲先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“电厂智能安全管控项目范围管理实践分享”。大会将于10月26-27日在北…

工具介绍---效率高+实用

Visual Studio Code (VS Code) 功能特点&#xff1a; 智能代码提示&#xff1a;内置的智能代码提示功能可以自动完成函数、变量等的输入&#xff0c;提高代码编写速度。插件丰富&#xff1a;支持成千上万的扩展插件&#xff0c;例如代码片段、主题、Linting等&#xff0c;能够…

67.【C语言】枚举类型

1.定义 对于有限的情况,一一列举 如一周有7天,从周一到周日;光学三原色(Red Green Blue) 2.格式 enum 枚举类型名 {//枚举常量 }; 备注:enum为enumeration缩写 3.枚举成员变量的值 #include <stdio.h> enum color {Red,Green,Blue };int main() {printf("%d…

alpine安装docker踩坑记

文章目录 前言错误场景正确操作最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;最近使用alpine操作系统上docker遇到了一些错误&#xff0c;尝试解决之后就准备输出一篇博客&#xff0c;帮助有需要的后人能够少踩坑&#xff0c;因为淋过雨所以想给别人撑伞 错误场景 我…

基于Hive和Hadoop的电信流量分析系统

本项目是一个基于大数据技术的电信流量分析系统&#xff0c;旨在为用户提供全面的通信数据和深入的流量使用分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 Spark…

Excel实现省-市-区/县级联

数据准备 准备省份-城市映射数据&#xff0c;如下&#xff1a; 新建sheet页&#xff0c;命名为&#xff1a;省-市数据源&#xff0c;然后准备数据&#xff0c;如下所示&#xff1a; 准备城市-区|县映射数据&#xff0c;如下&#xff1a; 新建sheet页&#xff0c;命名为&#x…

遗传算法与深度学习实战(15)——差分进化详解与实现

遗传算法与深度学习实战&#xff08;15&#xff09;——差分进化详解与实现 0. 前言1. 差分进化1.1 基本原理1.2 差分进化基本流程 2. 使用差分进化逼近复杂和不连续函数小结系列链接 0. 前言 深度学习 (Deep learning, DL) 系统通常可以被简单的视为凸函数逼近器&#xff0c;…