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

作者:junjie 时间:2021-12-04 10:31:03 

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,结构相似,函数调用
0
投稿

猜你喜欢

  • python网络编程socket实现服务端、客户端操作详解

    2022-11-28 14:23:20
  • python RC4加密操作示例【测试可用】

    2021-09-23 03:14:24
  • Python global全局变量函数详解

    2023-02-02 07:00:17
  • FrontPage2002简明教程四:网页超级链接

    2008-09-17 11:23:00
  • python pymysql链接数据库查询结果转为Dataframe实例

    2024-01-16 22:07:29
  • Python写代码的七条重要技巧介绍

    2023-09-14 06:04:07
  • Python装饰器如何实现修复过程解析

    2023-11-22 04:27:43
  • jQuery是用来干什么的 jquery其实就是一个js框架

    2024-04-22 22:22:42
  • Python arrow 更好的日期时间模块

    2022-02-08 14:06:15
  • pytorch 中的重要模块化接口nn.Module的使用

    2023-10-28 10:10:06
  • python 判断txt每行内容中是否包含子串并重新写入保存的实例

    2023-11-28 06:34:56
  • SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)

    2024-01-23 00:15:03
  • 定位?浮动?自适应?

    2008-06-30 14:20:00
  • PHP htmlspecialchars()函数用法与实例讲解

    2023-06-02 16:48:38
  • pycharm中venv文件夹自定义处理方式图解

    2022-06-28 22:46:53
  • 在JScript中使用ADODB.Stream判断文件编码

    2008-06-08 13:03:00
  • vue+springboot实现项目的CORS跨域请求

    2024-05-09 09:48:23
  • python 判断三个数字中的最大值实例代码

    2021-03-23 00:01:04
  • 利用python画一颗心的方法示例

    2021-06-04 01:14:33
  • python 迭代器和iter()函数详解及实例

    2022-03-24 17:55:33
  • asp之家 网络编程 m.aspxhome.com