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提示No module named images的解决方法
Sep 29 Python
python刷投票的脚本实现代码
Nov 08 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
python中的文件打开与关闭操作命令介绍
Apr 26 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python学生管理系统
Jan 30 Python
python3.6编写的单元测试示例
Aug 17 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
python网络爬虫实现发送短信验证码的方法
Feb 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 闭包特性在实际应用中的问题
2009/10/30 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
使用URL传输SESSION信息
2015/07/14 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
简单介绍Python中的JSON模块
2015/04/08 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Python3 max()函数基础用法
2019/02/19 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
Python实现制度转换(货币,温度,长度)
2019/07/14 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
安全生产中长期规划实施方案
2014/02/21 职场文书
网络技术专业求职信
2014/05/02 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
大学感恩节活动总结
2015/05/05 职场文书
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS