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之import机制详解
Jul 03 Python
python脚本设置系统时间的两种方法
Feb 21 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
在python3.5中使用OpenCV的实例讲解
Apr 02 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
python线程join方法原理解析
Feb 11 Python
python可视化text()函数使用详解
Feb 11 Python
Python API len函数操作过程解析
Mar 05 Python
Python super()函数使用及多重继承
May 06 Python
Python一行代码实现自动发邮件功能
May 30 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
域名查询代码公布
2006/10/09 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
Js中sort()方法的用法
2006/11/04 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
搭建vue开发环境
2018/07/19 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
Python中集合类型(set)学习小结
2015/01/28 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
python如何制作英文字典
2019/06/25 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
印度在线购物网站:Paytmmall
2019/07/24 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
请假条范文大全
2014/04/10 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
中学政教处工作总结
2015/08/13 职场文书
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技