我觉得算是python里相对比较高级的一个用法吧,不知道C里有没有,这里的特殊之处是,由于一个接口已经对外公开了,所以我不能修改函数原型,但是另一个接受了一段参数的函数又需要把它接受到的参数传进已经公开的函数(当然,数据是没有问题的)因此就需要这样做

#!/usr/bin/env python
# -*- coding: utf-8 -*-'''
python里一个很高级的用法:apply
apply接受两个参数:函数指针和元组(貌似还有其他更高级的用法)
apply调用函数指针执行的函数时,把元组拆成参数列表传递进函数
'''import weburls = ('/app1', 'App1','/app2', 'App2','/app3/(\w*)','App3','/app4/(\w*)/(\w*)','App4',#约定接口
)web.config.debug = False
app = web.application(urls, globals())class PageBase:def __init__(self):self.funGET = self.GETself.GET = self.getdef get(self,*args):wi = web.input()if hasattr(wi,"id"):self.s = wi.idelse:self.s = "hello"#注意apply调用,对于该函数的解释见代码顶部return apply(self.funGET,args)class App1(PageBase):def GET(self):return self.sclass App2(PageBase):def GET(self):return self.sclass App3(PageBase):def GET(self,id):return idclass App4(PageBase):#接口已约定,我无权声明本函数支持可变参数def GET(self,id1,id2):return id1+","+id2if __name__ == "__main__":app.run()

转载于:https://www.cnblogs.com/code-style/archive/2012/07/27/2611766.html

python:可变参数与apply相关推荐

  1. python 可变参数

    python 可变参数 def add1(*data):sum = 0for i in data:sum = sum + ireturn sumprint( add1(1,2,3,4,5) )prin ...

  2. Java可变参数 Python可变参数 Scala可变参数

    Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...

  3. Xiaoxia[PG] Python可变参数与标准输出的重定位

    Xiaoxia[PG] Python可变参数与标准输出的重定位 Python可变参数与标准输出的重定位 « Xiaoxia[PG] Python可变参数与标准输出的重定位 使用Python的内置函数p ...

  4. Python可变参数

    在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可以是1个.2个到任意个,还可以是0个.以数学题为例子,给定一组数字a,b,c--,请计算a2 + b2 + c ...

  5. python可变参数和关键字参数位置_python的位置参数、默认参数、关键字参数、可变参数区别...

    一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8def print_hello(name, sex): sex_di ...

  6. python可变参数_Python 的四种共享传参详解

    点击上方"Python数据之道",选择"星标公众号" 精品文章,第一时间送达 作者 | 杨仁聪 编辑 | Lemon 出品 | Python数据之道 本文来自公 ...

  7. python可变参数的特点_可变参数**kwargs传入函数时的存储方式为( )_学小易找答案...

    [单选题]抗结核药联合用药的目的是: [单选题]女性,50岁,患耐青霉素的金葡菌性心内膜炎,青霉素试敏阴性,既往有慢性肾盂肾炎,应选用: [填空题]固态下原子(或分子)呈( )排列而形成的聚集状态,称 ...

  8. python 可变参数 关键字参数_Python之 可变参数和关键字参数

    原标题:Python之 可变参数和关键字参数 刚开始接触 python 的时候,对 python 中的 *wargs (可变参数) 和 **kwargs (关键字参数)的理解不是很透彻,看了一下 &l ...

  9. python可变参数函数二阶导数公式_python中函数的可变参数

    简介 INTRODUCTION一.[其实已经用过]可变参数 二.可变参数+普通参数 结合用法1 三.知识要点总结强调 知识回顾: 1.函数关键字参数 2.函数的参数的默认值.必须从右边写到左边. 一. ...

  10. python可变参数和关键字参数位置_python 参数笔记 -- 位置参数 关键字参数 命名参数 形式参数 默认参数 可变参数 可选参数 位置顺序...

    这么多名称,python到底有几种参数: 2种:普通参数(即位置参数,靠位置先后来指定参数),关键字参数(即命名参数,靠名字来指定参数). 常说的可变参数也就是普参的集合,*args. 常说的关键字参 ...

最新文章

  1. R语言效用分析 ( 效能分析、Power analysis)、除了pwr包之外还有其它包、例如、基因研究中的效能分析、MBESS包可用于各种形式的效能分析和最少样本量确定、其他效用分析包的简要介绍
  2. Spring.NET 学习总结
  3. boost::hana::take_while用法的测试程序
  4. Windows下安装并设置Redis
  5. c++ 8.整数加法实现
  6. 用MVC做可拖拽的留言板,利用 Jquery模板 -- JsRender
  7. Educational Codeforces Round 25 G. Tree Queries
  8. 使用微软VS2015编写python代码
  9. Python基础---循环、条件判断
  10. 求解偏微分方程开源有限元软件deal.II学习--Step 7
  11. MARQUEE 字符滚动条效果
  12. rust工作台可以拾取吗_10台铝型材工作台一周交货可以吗
  13. WinForm开发(36)——WinForm开发微软官方最全综合详解指南(包括bug出现的可能原因分析及解决方法)
  14. 简谈libxml2库函数的使用
  15. uniapp项目发布成微信小程序的一些坑
  16. 奇幻RPG(人物构造 与 Abstract Factory模式)
  17. phpStudy2018中Apache启动失败
  18. 计算机软考高级 天津落户,官宣:软考高级可作为高级职称人才引进落户上海...
  19. 格斗游戏出招表.chm
  20. HITCTF2018-web全题解

热门文章

  1. 安卓java其他类改变view_安卓自定义控件(三)实现自定义View
  2. java datatable用法_C# DataTable用法示例详解|DataTable Select,sort排序,Linq过滤操作
  3. 异步保存数据到mysql或mssql 学习笔记
  4. 基于京东家电商品知识图谱的自动问答系统(三) -- Java实现问答系统
  5. 实现多楼层,每个楼层多房间,上下拖动切换楼层,左右拖动查看其他房间
  6. 菜鸟学Linux 第096篇笔记 nginx
  7. linux内核中创建线程方法
  8. 【CentOS】Centos下pip的安装
  9. Nginx 读写分离详解
  10. 域猫(域名分享平台)