Python中实现结构相似的函数调用方法
Python中实现结构相似的函数调用方法
发布时间:2016-12-28 来源:查字典编辑
摘要:python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下:复制代码代码如下:>>>d={'key1':'value1...

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 : pausen2 : stopn3 : restartnother to quitn"

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 quitn"

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学习
脚本专栏子分类