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

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 : pause2 : stop3 : restartother to quit”
 
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 : +2 : -3 : *other to quit”
 
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),””

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2292753.html

(0)
上一篇 2025年2月28日 02:01:27
下一篇 2025年2月24日 10:05:18

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论