Python中实现结构相似的函数调用方法
python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下:
>>>d={'key1':'value1',
...'key2':'value2',
...'key3':'value3'}
>>>printd['key2']
value2
>>>
lambda表达式也是很实用的东东,示例如下:
>>>f=lambdax:x**2 >>>printf(2) 4 >>>
两者结合可以实现结构相似的函数调用,使用起来很方便,示例如下:
示例一:不带参数
#!/usr/bin/python
msgCtrl="1:pause\n2:stop\n3:restart\nothertoquit\n"
ctrlMap={
'1': lambda:doPause(),
'2': lambda:doStop(),
'3': lambda:doRestart()}
defdoPause():
print'dopause'
defdoStop():
print'dostop'
defdoRestart():
print'dorestart'
if__name__=='__main__':
whileTrue:
printmsgCtrl
cmdCtrl=raw_input('Input:')
ifnotctrlMap.has_key(cmdCtrl):break
ctrlMap[cmdCtrl]()
示例二:带参数
#!/usr/bin/python
msgCtrl="1:+\n2:-\n3:*\nothertoquit\n"
ctrlMap={
'1': lambdax,y:x+y,
'2': lambdax,y:x-y,
'3': lambdax,y:x*y}
if__name__=='__main__':
whileTrue:
printmsgCtrl
cmdCtrl=raw_input('Input:')
ifnotctrlMap.has_key(cmdCtrl):break
printctrlMap[cmdCtrl](10,2),"\n"
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短