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 18 Python
讲解Python中if语句的嵌套用法
May 14 Python
Python常用小技巧总结
Jun 01 Python
最大K个数问题的Python版解法总结
Jun 16 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
Python中利用xpath解析HTML的方法
May 14 Python
浅析python参数的知识点
Dec 10 Python
Django 多环境配置详解
May 14 Python
Python基础知识点 初识Python.md
May 14 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
python ssh 执行shell命令的示例
Sep 29 Python
python 使用csv模块读写csv格式文件的示例
Dec 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的知识
2006/11/17 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
JS event使用方法详解
2008/04/28 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
python清除指定目录内所有文件中script的方法
2015/06/30 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
师范生自荐信
2013/10/27 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
法人代表证明书格式
2014/10/01 职场文书
小学教师个人总结
2015/02/05 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
整改通知书
2015/04/20 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
体育委员竞选稿
2015/11/21 职场文书