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发送SMTP邮件的教程
Apr 29 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
Python数据类型之Tuple元组实例详解
May 08 Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 Python
python调用Matplotlib绘制分布点图
Oct 18 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
python函数调用,循环,列表复制实例
May 03 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 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
SMARTY学习手记
2007/01/04 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
python的else子句使用指南
2016/02/27 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
美国轮胎网站:Priority Tire
2018/11/28 全球购物
大学生自我鉴定范文模板
2014/01/21 职场文书
单身联谊活动方案
2014/01/29 职场文书
绿色环保演讲稿
2014/05/10 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python
HTTP中的Content-type详解
2022/01/18 HTML / CSS
利用Python多线程实现图片下载器
2022/03/25 Python
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
图神经网络GNN算法
2022/05/11 Python