我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python学习(20):字典替代Swi

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python学习(20):字典替代Swi

Python本身并不提供Switch的语法功能,为了能够解决类似switch分支需求的问题,我们可以使用字典代替实现。
解决思路:

  1. 利用字典取值的get方法的容错性,处理switch语句中的default情况
  2. 设置字典的vlaue为对应方法名,来代替switch语句中的代码块
  3. 为不同key设置相同的value,模拟switch中穿透
def taskForSunday():
    print("今天休息")
def taskForRest():
    print("今天休息")
def taskForChinese():
    print("今天上语文课")
def taskForMath():
    print("今天上数学课")
def taskForEnglish():
    print("今天上英语课")
def taskForDefault():
    print("输入错误啦。。。。")

switchDic = {"Sunday":taskForRest,
            "Monday":taskForChinese,
            "Tuesday":taskForMath,
            "Wednesday":taskForEnglish,
            "Tursday":taskForEnglish,
            "Friday":taskForEnglish,
            "Saturday":taskForRest
}

1.测试取值

通过get获取字典key对应的方法后,又添加了个括号,这样会执行得到的方法

day1 = "Monday"
switchDic.get(day1,taskForDefault)() #打印:今天上语文课

2.测试穿透

##Wednesday,Tursday,Friday三个的效果相同
day2 = "Friday"
switchDic.get(day2,taskForDefault)()  #打印:今天上英语课

3.测试Deault效果

#字典的get方法第二个参数是默认值,即通过key值不能找到value时,返回默认值
#这里使用了自定义函数的函数名:taskForDefault,用于实现switch的defalut功能
day3 = "天气不错哦"
switchDic.get(day3,taskForDefault)() #打印:输入错误啦。。。。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python学习(20):字典替代Swi

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

下载Word文档

猜你喜欢

Python学习(20):字典替代Swi

Python本身并不提供Switch的语法功能,为了能够解决类似switch分支需求的问题,我们可以使用字典代替实现。 解决思路:利用字典取值的get方法的容错性,处理switch语句中的default情况设置字典的vlaue为对应方法名,
2023-01-31

python学习笔记:字典

python版本:Python 2.6.6 系统环境:CentOS release 6.2 x86_64 本文参考了互联网上前辈的一些文章 一、字典是python中最灵活的内置数据结构类型,如果把列表看作是有序的对象集合,那么字典就是无序的
2023-01-31

python-字典与列表学习

#字典练习def print_dict(): contect_file = 'contect_list.txt' f = file(contect_file) #读取 contect_dic = {} for li
2023-01-31

[Python]学习基础篇:字典

字典字典这个数据结构的功能和它的名字一样,根据key得到value值。字典的定义 方法: dict={‘key1’:value1,’key2’:value2……..} 对于字典,key值在字典中不能重复,若出现重复,将更改原有的key对应的
2023-01-31

python基础学习5----字典

字典由大括号和键值对组成,特点为无序,键唯一1.字典的创建#直接创建字典dic1={'name':'a','age':20}#通过dict创建字典,输出都为{'name': 'a', 'age': 20}dic2=dict((('name'
2023-01-30

Python学习教程:Python字典处理

Python字典处理1、根据键访问值普通访问实例:info={"name":"Mark","age":18}print("我的姓名:%s"%info["name"])#如果没有指定的键,就会报错print(info["sex"])结果:我的
2023-06-02

Python 学习日记第三篇 -- 字典

一、字典  python中的字典不是序列,而是一种映射;不通过位置而是通过键存储。字典是可变的。  1、字典的映射操作#字典的创建>>> d1 = {'k1':'v1','k2':'v2'}>>> d2 = dict(k1='v1',k2=
2023-01-31

Python学习笔记8——列表、字典、元

参考书籍:《Learning_Python_5th_Edition.pdf》,一本英文书呢,我上传到百度网盘吧,请点击这里,密码是:kym3Lists 列表The Python list object is the most general
2023-01-30

python元组和字典的简单学习

用圆括号()标识,定义元组后,元组元素不可修改。如果想修改元组只能重新定义元组。因为元组不可更改,所以也没有增删改等用法,主要语法就是访问元组元素,遍历元组。访问元组元素:1 tuple1 = (1, 2, 3, 4)2 print(tup
2023-01-30

python学习:读写文件和字典排序

今天来做一个题目,有一个文件,内容如下:[root@Virtual python]# cat a.csv  源文件2004-5-27,2,3,2,3 2004-5-27,872,0,872,0 2004-5-27,1872,0,8
2023-01-31

Python的dict字典结构操作方法学习笔记

一.字典的基本方法 1.新建字典 1)、建立一个空的字典>>> dict1={} >>> dict2=dict() >>> dict1,dict2 ({}, {}) 2)、新建的时候初始化一个值>>> dict1={1:'a',2:'
2022-06-04

Python学习小技巧之利用字典的默认行为

本文介绍的是关于Python利用字典的默认行为的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1:from collections import defaultdict if __name__ == '__main__'
2022-06-04

2019升级版Python学习教程:从字典中提取子集

Python学习教程:从字典中提取子集
2023-06-02

Python中列表、字典、元组数据结构的简单学习笔记

列表 列表是Python中最具灵活性的有序集合对象类型。与字符串不同的是,列表可以包含任何类型的对象:数字、字符串甚至其他列表。列表是可变对象,它支持原地修改的操作。 Python的列表是:任意对象的有序集合通过偏移读取可变长度、异构以及任
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录