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中pycurl库的用法实例
Sep 30 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 Python
Python实现端口检测的方法
Jul 24 Python
python for循环输入一个矩阵的实例
Nov 14 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
Python列表切片常用操作实例解析
Dec 16 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
用python批量解压带密码的压缩包
May 31 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 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教程孙仲岳主讲
2008/01/07 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
Python函数调用追踪实现代码
2020/11/27 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
美国社交购物市场:MassGenie
2019/02/18 全球购物
学习决心书
2014/03/11 职场文书
员工生日活动方案
2014/08/24 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
2015年团支书工作总结
2015/04/03 职场文书