Python中实现结构相似的函数调用方法


Posted in Python onMarch 10, 2015

python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下:

>>> d = {'key1':'value1',

... 'key2':'value2',

... 'key3':'value3'}

>>> print d['key2']

value2

>>>

lambda表达式也是很实用的东东,示例如下:
>>> f = lambda x : x**2

>>> print f(2)

4

>>>

两者结合可以实现结构相似的函数调用,使用起来很方便,示例如下:

示例一:不带参数 

#! /usr/bin/python

 

msgCtrl = "1 : pause\n2 : stop\n3 : restart\nother to quit\n"

 

ctrlMap = {

'1':    lambda : doPause(),

'2':    lambda : doStop(),

'3':    lambda : doRestart()}

 

def doPause():

        print 'do pause'

 

def doStop():

        print 'do stop'

 

def doRestart():

        print 'do restart'

 

if __name__ == '__main__':

        while True:

                print msgCtrl

                cmdCtrl = raw_input('Input : ')

                if not ctrlMap.has_key(cmdCtrl):break

                ctrlMap[cmdCtrl]()

示例二:带参数

#! /usr/bin/python

 

msgCtrl = "1 : +\n2 : -\n3 : *\nother to quit\n"

 

ctrlMap = {

'1':    lambda x,y : x+y,

'2':    lambda x,y : x-y,

'3':    lambda x,y : x*y}

 

 

if __name__ == '__main__':

        while True:

                print msgCtrl

                cmdCtrl = raw_input('Input : ')

                if not ctrlMap.has_key(cmdCtrl):break

                print ctrlMap[cmdCtrl](10,2),"\n"
Python 相关文章推荐
Python进行数据科学工作的简单入门教程
Apr 01 Python
Python实现简单的代理服务器
Jul 25 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
Python检测生僻字的实现方法
Oct 23 Python
基于python代码实现简易滤除数字的方法
Jul 17 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
python 模拟银行转账功能过程详解
Aug 06 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
Python实现提取PDF简历信息并存入Excel
Apr 02 Python
Python实现CET查分的方法
Mar 10 #Python
Python实现的批量下载RFC文档
Mar 10 #Python
Python制作CSDN免积分下载器
Mar 10 #Python
Python Tkinter GUI编程入门介绍
Mar 10 #Python
Python格式化css文件的方法
Mar 10 #Python
Python将xml和xsl转换为html的方法
Mar 10 #Python
Python写的Tkinter程序屏幕居中方法
Mar 10 #Python
You might like
php设计模式 Composite (组合模式)
2011/06/26 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
python Django编写接口并用Jmeter测试的方法
2019/07/31 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
办公室文秘自我评价
2013/09/21 职场文书
师德师风剖析材料
2014/09/30 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
不同意离婚上诉状
2015/05/23 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
体育教师教学随笔
2015/08/15 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
APP界面设计技巧和注意事项
2022/04/29 杂记