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实现系统状态监测和故障转移实例方法
Nov 18 Python
在Python程序中进行文件读取和写入操作的教程
Apr 28 Python
python 远程统计文件代码分享
May 14 Python
python 性能优化方法小结
Mar 31 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
解决python文件双击运行秒退的问题
Jun 24 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
Python 过滤错误log并导出的实例
Dec 26 Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 Python
python利用paramiko实现交换机巡检的示例
Sep 22 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 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常用字符串处理函数实例分析
2014/11/22 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
python使用zip将list转为json的方法
2018/12/31 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
django query模块
2019/04/20 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
用python批量移动文件
2021/01/14 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
项目经理岗位职责
2013/11/11 职场文书
天地会口号
2014/06/17 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS