Python基于字典实现switch case函数调用

python中没有swich..case,若要实现一样的功能,又不想用if..elif来实现,可以充分利用字典进行实现

主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,每次都会输出,这跟自己需要的功能有出入。

通过调试后,发现问题主要出现在key值对应的value的方法名有没有带()有很大的关系,如下:

不管bb中的number填写的是多少,总是会输出123

如果把cs()改为cs,那么只有在调用2的时候才会输出123;或者改下return的方法,可以选择不加()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python合并2个字典成1个新字典的方法(9种)

    字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型. 字典类型与序列类型的区别: 1. 存取和访问数据的方式不同. 2. 序列类型只用数字类型的键(从序列的开始按数值顺序索引): 3. 映射类型可以用其他对象类型作键(如:数字.字符串.元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直4.接或

  • python DataFrame转dict字典过程详解

    这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:将商品id以及商品类别作为字典的键值映射,生成字典,原为DataFrame # 创建一个DataFrame # 列值类型均为int型 import pandas as pd item = pd.DataFrame({'item_id': [100120, 10024504, 1055460], 'item_categor

  • python字典排序的方法

    python字典怎么排序? 定义一个字典类型 mydict = {2: '小路', 3: '黎明', 1: '郭富城', 4:'周董'} 可分别打印 key和value 看一下数据 按KEY排序,使用了 lambda和 reverse= False(正序) key和value都输出 reverse= True(逆序) 按value排序,汉字次序不是按拼音输出 sorted并不改变字典本身的数据次序. 输出后为列表和元组 可以 A = sorted(mydict.items(),key = lam

  • python 比较字典value的最大值的几种方法

    python中获取字典的key列表和value列表 # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑': 2, '惊悚': 2, '奇幻': 1} #通过list将字典中的keys和values转化为列表 keys = list(dic.keys()) values = list(dic.values()) # 结果输出 print("keys列表

  • 在Python中字符串、列表、元组、字典之间的相互转换

    一.字符串(str) 字符串转换为列表 使用list()方法 str_1 = "1235" str_2 = 'zhangsan' str_3 = '''lisi''' tuple_1 = list(str_1) tuple_2 = list(str_2) tuple_3 = list(str_3) print(type(tuple_1)) print(type(tuple_2)) print(type(tuple_3)) print(tuple_1) print(tuple_2) pr

  • Python json读写方式和字典相互转化

    在Python中,json指的是符合json语法格式的字符串,可以单行或者多行. 它可以方便的在使用在多种语言中,这里介绍的是在python中的字典(dict)与json字符串相互转化的方式. 1. 导入json包 import json 2. 初始化一个字典数据 dict_ = { 'name': 'Jack', 'age': 22, 'skills': ['Python', 'Java', 'C++', 'Matlab'], 'major': '计算机技术', 'english': '英语六

  • Python创建空列表的字典2种方法详解

    如果要在 Python 中创建键值是空列表的字典,有多种方法,但是各种方法之间是否由区别?需要作实验验证,并且分析产生的原因.本文针对两种方法做了实验和分析. 如果要在 Python 中创建一个键值都是列表的字典,类似下面这样,该怎么做? {1:[], 2:[], 3:[], 4:[]} 方法1,字典构造器 用 dict 构造器生成,构造(key,value)对 > key = [1, 2, 3, 4] > a = dict([(k,[]) for k in key]) > a {1:

  • python判断变量是否为int、字符串、列表、元组、字典的方法详解

    在实际写程序中,经常要对变量类型进行判断,除了用type(变量)这种方法外,还可以用isinstance方法判断: a = 1 b = [1,2,3,4] c = (1,2,3,4) d = {'a':1, 'b':2, 'c':3} e = "abc" if isinstance(a,int): print ("a is int") else: print ("a is not int") if isinstance(b,list): prin

  • Python基于字典实现switch case函数调用

    python中没有swich..case,若要实现一样的功能,又不想用if..elif来实现,可以充分利用字典进行实现 主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,每次都会输出,这跟自己需要的功能有出入. 通过调试后,发现问题主要出现在key值对应的value的方法名有没有带()有很大的关系,如下: 不管bb中的number填写的是多少,总是会输出123 如果把cs()改为cs,那么只有在调用2的时候才会输出123:或者改下retu

  • 使用 Python 实现简单的 switch/case 语句的方法

    在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此. 但今天我们还是来看看如果一定要用Python来Switch / Case,可以怎么玩. 语法约束 我们先定义一下Switch/Case应该怎么表达,为了简单我们可以让它长成这样. def cn(): print('cn') def us(): print('us') switch(lang).c

  • python中Switch/Case实现的示例代码

    学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch/Case功能. 使用if-elif-elif-else 实现switch/case 可以使用if-elif-elif..else序列来代替switch/case语句,这是大家最容易想到的办法.但是随着分支的增多和修改的频繁,这种代替方式并不很好调试和维护. 方法一 通过字典实现 def foo(var): return { 'a':

  • Python实现switch/case语句

    目录 使用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这种方式易维护,

  • Python基于有道实现英汉字典功能

    本文实例讲述了Python基于有道实现英汉字典功能的方法.分享给大家供大家参考.具体如下: import re,urllib aa="http://dict.youdao.com/search?tab=chn&keyfrom=dict.top&q=" print ("input q! to exit ") while 1: word=raw_input(">>>") if word=="q!"

  • Python数学建模PuLP库线性规划进阶基于字典详解

    目录 1.基于字典的创建规划问题 2.线性规划问题案例 3.建立模型 (1)决策变量 (2)目标函数 (3)约束条件 (4)变量取值范围 4.PuLP 程序1:使用 LpVariable 逐一定义变量 5.PuLP 程序2:使用 dict 定义决策变量和约束条件 6.Python程序和运行结果 1.基于字典的创建规划问题 上篇中介绍了使用 LpVariable 对逐一定义每个决策变量,设定名称.类型和上下界,类似地对约束条件也需要逐一设置模型参数.在大规模的规划问题中,这样逐个定义变量和设置模型

  • Python为何不支持switch语句原理详解

    在这篇文章里,我们会聊一聊为什么 Python 决定不支持 switch 语句. 为什么想要聊这个话题呢? 主要是因为 switch 在其它语言中太常见了,而 Python 却不支持,这样的独特性本身就值得关注,而回答这个问题,也能更加看清 Python 在程序设计上的理念,了解 Python 在语法设计中的决策过程. 本文除了会详细分析 PEP-275 和 PEP-3103,还会介绍到 Python 最新的发展动态(PEP-622),即可能要引入的模式匹配(pattern matching)语

  • Python中字典创建、遍历、添加等实用操作技巧合集

    字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快.下面列出字典的常用的用途. 一.字典中常见方法列表 复制代码 代码如下: #方法                                  #描述  -------------------------------------------------------------------------------------------------  D.c

  • Python分支结构(switch)操作简介

    Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下. switch语句用于编写多分支结构的程序,类似与if-.elif-.else语句. switch语句表达的分支结构比if-elif-else语句表达的更清晰,代码的可读性更高 但是python并没有提供switch语句. python可以通过字典实现switch语句的功能,实现方法分为两步: 首先,定义一个字典 其次,调用字典的get()获取相应的表达式. 计算器: from __future_

  • python 基于selectors库实现文件上传与下载

    server.py import selectors import socket import os import time BASE_DIR =os.path.abspath(os.path.dirname(__file__)) class selectFtpserver: def __init__(self): self.dic = {} # 创建空字典 self.hasReceived = 0 self.hasSend=0 self.sel = selectors.DefaultSelec

随机推荐