iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 使用dict实现switch的操作
  • 700
分享到

Python 使用dict实现switch的操作

2024-04-02 19:04:59 700人浏览 安东尼

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

摘要

python3还是没有switch,可以利用if-else来实现,但是非常不方便。使用dict来实现会比较简洁优雅。 # -*- coding: utf-8 -*- """ py

python3还是没有switch,可以利用if-else来实现,但是非常不方便。使用dict来实现会比较简洁优雅。


# -*- coding: utf-8 -*-
"""
python利用dict实现switch
""" 
def add(x, y): return x + y  
def subtract(x, y): return x - y           
def multiply(x, y): return x * y 
def divide(x, y):
  assert(y != 0)      
  return x / y 
mapping = {"+": add, "-": subtract, "*": multiply, "/": divide}
 
def cal(x, y, symbol="+"):
  assert(symbol in mapping)
  return mapping.get(symbol)(x, y) 
if __name__ == "__main__":
  result = cal(3, 0, "&")

补充:python 字典dict实现switch case【实际应用】(非dict.get()方法实现)

看了不少帖子,几乎都是采用字典的.get()方法实现,据说有个弊端:“会将字典每个带括号的方法都执行一遍”。

以下方法可避免该弊端,并可以传参。如有不足请指正!


#!/usr/bin/Python3 
# conf_cmd = conf_items["cmd"].split(":")[0] 
test_no = "T1"
#test_no = "T2"
#test_no = "T3"
 
id = 1 
def test1(id):
  print("test1:%d" % id)
 
def test2(id):
  print("test2")
 
def test3(id):
  print("test3")
 
funcs = {"T1": test1,
     "T2": test2,
     "T3": test3} 
try:
  func = funcs[test_no]
  func(id)
except Exception:
  pass

输出:


test1:1

补充:Python实现类似switch的分支结构

switch语句相信大家都很熟悉,而且swith语句表达的分支结构比if...elif...else语句表达更清晰,代码的可读性更高,但是在Python中,却没有提供这一个关键字。那我们该如何通过其他方式来实现这类似的结构呢?

虽然没有switch语句,但是我们可以通过Python中的dict即字典来实现类似switch结构的方法

实现代码如下:


def operator(o,x,y):
 result={
     '+' : x+y,
     '-' : x-y,
     '*' : x*y,
     '/' : x/y
  }
 print(result.get(o))
oper=input()//接收从键盘输入的数据
operator(oper,4,2)

运行效果如下所示:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: Python 使用dict实现switch的操作

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

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

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

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

下载Word文档
猜你喜欢
  • Python 使用dict实现switch的操作
    Python3还是没有switch,可以利用if-else来实现,但是非常不方便。使用dict来实现会比较简洁优雅。 # -*- coding: utf-8 -*- """ Py...
    99+
    2024-04-02
  • python 中dict的元素取值操作
    如下所示: dict.get(key, default=None) key – 字典中要查找的键。 default – 如果指定键的值不存在时,返回该默认值值。 {'1*'...
    99+
    2024-04-02
  • python之switch的实现
    防伪码:忘情公子著  switch是一种语法结构,在大多数的编程语言当中,都提供了switch语法结构。  switch语句的作用与优点:    switch语句用于编写多分支结构的程序,类似于if... elif... else(if多分...
    99+
    2023-01-31
    python switch
  • 使用python脚本实现mysql误操作
    1.简介在oracle数据库中,当一个误操作被提交后,我们可以通过oracle提供的闪回功能将表闪回至误操作之前的状态。mysql中没有原生的flushback功能,DBA误操作时,传统的恢复方式是利用全备+二进制日志前滚进行恢复。今天给大...
    99+
    2023-01-31
    脚本 操作 python
  • Python使用UDP实现720p视频传输的操作
    1. 项目背景 视频传输: 在一台电脑上播放视频(捕捉摄像头画面),同局域网内另一台电脑上实时播放,尽量不卡顿。 先放最后的照片,和用gif展示一下视频效果。 传输视频可以采取图...
    99+
    2024-04-02
  • python dict实现的魔法方法怎么用
    这篇文章主要介绍“python dict实现的魔法方法怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python dict实现的魔法方法怎么用”文章能帮助大家解决问题。方法说明__or__和_...
    99+
    2023-06-30
  • python 操作crontab 实现
    写crontab 任务时,python指定绝对路径脚本文件 06292000.py,不要用相对路径,因为crontab执行时,默认目录是你python的目录。不是你脚本文件所在的目录。所以程序中如果需要指定路径,可以先获得脚本文件所在的路...
    99+
    2023-01-31
    操作 python crontab
  • Python数据容器dict(字典)的实现
    目录字典的定义字典数据的获取字典的嵌套字典的各种操作新增与更新元素  [Key] = Value删除元素 pop和del清空字典 clear获取全部的键...
    99+
    2023-02-13
    Python数据容器字典 Python 容器字典
  • 如何使用jQuery实现的DOM操作
    本篇内容主要讲解“如何使用jQuery实现的DOM操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用jQuery实现的DOM操作”吧!第01回:节点创建...
    99+
    2024-04-02
  • Python中Dict实现的原理是什么
    1.无序Dict的实现Dict能够快速查找key,这归功于它采用的空间换时间策略和哈希表实现。的在读取和写入Key时, 都会对Key进行哈希计算(所以要求Key都是不可变类型,如果是可变类型,就无法计算出他的哈希值了), 然后根据计算的值,...
    99+
    2023-05-19
    Python dict
  • springboot使用RedisRepository操作数据的实现
    目录一、一个属性、一个属性的存取二、使用Jackson2HashMapper存取对象三、使用RedisRepository的对象操作通过集成spring-boot-starter-d...
    99+
    2024-04-02
  • Python使用xlrd和xlwt实现自动化操作Excel
    目录一、前言介绍二、安装三、xlrd常用操作1、打开Excel2、查看工作簿中所有sheet 3、选择一个工作表4、获取表格的行数、列数5、获取整行和整列的值6、通过循环读...
    99+
    2024-04-02
  • MongoDB安装使用并实现Python操作数据库
    目录一、MongoDB介绍二、安装MongoDB三、使用MongoDB1、插入数据2、查找数据3、更新数据4、删除数据5、条件运算符6、MongoDB Limit与Skip方法7.M...
    99+
    2024-04-02
  • Python使用UDP实现720p视频传输的操作方法
    小编给大家分享一下Python使用UDP实现720p视频传输的操作方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的优点有哪些1、简单易用,与C/C...
    99+
    2023-06-14
  • 用Python对PDF实现各种操作
    本篇内容主要讲解“用Python对PDF实现各种操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用Python对PDF实现各种操作”吧!Portable Document  Form...
    99+
    2023-06-16
  • 使用 Python 操作 Kafka
    使用 Python 操作 Kafka Apache Kafka 是一个分布式的流处理平台,它具有高吞吐量、可扩展性和持久性的特点。通过使用 Python 的 kafka-python 模块,我们可以方...
    99+
    2023-09-26
    python kafka 开发语言
  • 使用python操作solr
    Python:2.7 solr:5.1 使用Java的同学可以使用solrj操作solr,但是python就没有太好的操作solr的模块了。虽然也能找到几个,例如solrpy,但是由于年久失修,基本不能使用。 如果是对solr进行查询操...
    99+
    2023-01-31
    操作 python solr
  • 用Python实现的Excel常用操作有哪些
    本篇内容介绍了“用Python实现的Excel常用操作有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、关联公式:Vlookupvlo...
    99+
    2023-06-30
  • Python中Dict两种实现的原理详解
    目录前记1.无序Dict的实现2.有序Dict的原理3.有序字典的实现前记 在Python中, Dict是一系列由键和值配对组成的元素的集合, 它是一个可变容器模型,可以存储任意类型...
    99+
    2023-03-01
    Python Dict实现原理 Python Dict原理 Python Dict
  • python中如何实现dict的元素取值
    这篇文章给大家分享的是有关python中如何实现dict的元素取值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如下所示:dict.get(key, default=None)key – 字典中要查找的...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作