Python中实现结构相似的函数调用方法

 更新时间:2015年03月10日 11:24:16   投稿:junjie  
这篇文章主要介绍了Python中实现结构相似的函数调用方法,本文讲解使用dict和lambda结合实现结构相似的函数调用,给出了不带参数和带参数的实例,需要的朋友可以参考下

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 树状嵌套结构的实现思路详解

    今天小编就为大家分享一篇对python 树状嵌套结构的实现思路详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python打造虎年祝福神器的示例代码

    Python打造虎年祝福神器的示例代码

    2022虎年将至,值此新春佳节之际,小编特地为大家介绍了一个利用Python实现的虎年祝福神器,文中的示例代码讲解详细,感兴趣的可以动手试一试
    2022-01-01
  • python学习之基于Python的人脸识别技术学习

    python学习之基于Python的人脸识别技术学习

    面部识别技术的应用越来越广泛,它广泛应用于安全系统、人机交互、社交媒体、医疗保健等领域。本文介绍了基于Python的人脸识别技术,感兴趣的小伙伴可以参考阅读
    2023-03-03
  • 学生如何免费使用Pycharm专业版学生认证教程

    学生如何免费使用Pycharm专业版学生认证教程

    这篇文章主要介绍了学生如何免费使用Pycharm专业版,学生认证教程,有了这个教程在校期间就可以免费使用Pycharm,简直是学生党的福音,快来一起看看吧
    2023-03-03
  • Python 实现局域网远程屏幕截图案例

    Python 实现局域网远程屏幕截图案例

    这篇文章主要介绍了Python 实现局域网远程屏幕截图案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Django 生成登陆验证码代码分享

    Django 生成登陆验证码代码分享

    这篇文章主要介绍了Django 生成登陆验证码代码分享,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Python实现LRU算法的2种方法

    Python实现LRU算法的2种方法

    这篇文章主要介绍了Python实现LRU算法的2种方法,本文分别给出了用OrderedDict实现、用dict+list实现两种方法,需要的朋友可以参考下
    2015-06-06
  • 教你用Python创建微信聊天机器人

    教你用Python创建微信聊天机器人

    这篇文章主要手把手教你用Python创建微信聊天机器人,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • PyQt5-QDateEdit的简单使用操作

    PyQt5-QDateEdit的简单使用操作

    这篇文章主要介绍了PyQt5-QDateEdit的简单使用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python with语句的原理与用法详解

    python with语句的原理与用法详解

    这篇文章主要介绍了python with语句的原理与用法,结合实例形式详细分析了python with语句基本概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-03-03

最新评论