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字符遍历的艺术
Sep 06 Python
python基础教程之元组操作使用详解
Mar 25 Python
python计数排序和基数排序算法实例
Apr 25 Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 Python
python中sys.argv函数精简概括
Jul 08 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
基于Tensorflow高阶读写教程
Feb 10 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 Python
Python中rapidjson参数校验实现
Jul 25 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 n个不重复的随机数生成代码
2009/06/23 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
用ADODB.Stream转换
2007/01/22 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
python Django模板的使用方法
2016/01/14 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python使用wxPython实现计算器
2018/01/30 Python
python让列表倒序输出的实例
2018/06/25 Python
详解python中的hashlib模块的使用
2019/04/22 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
人事专员岗位职责
2013/11/20 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
科技之星事迹材料
2014/06/02 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
python中pycryto实现数据加密
2022/04/29 Python