Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > PHP > Python函数的分阶段参数传递
【标  题】:Python函数的分阶段参数传递
【关键字】:Python
【来  源】:http://blog.csdn.net/gashero/archive/2007/04/16/1566291.aspx

Python函数的分阶段参数传递

Your Ad Here Python函数的分阶段参数传递

最近用到个工程,因为考虑到效率,所以需要用Python中的filter()函数来过滤一个列表,而这个过滤函数实际上需要2个参数而filter()只能传递给过滤函数一个参数。仔细分析一下,这2个参数中,有1个参数是在request生存期内不变的,而另外一个是用于过滤的值。所以最终用了一下lambda来做了个函数的分阶段参数传递。例子如下:

过滤函数:

def myfilter(a,b):
    """b is a parameter that can't change at a request"""
    if a%2==0:
        return True
    else:
        return False

执行过程

fc=lambda a:myfilter(a,20)
filter(fc,[1,2,3,4,5,6,7,8])

这样,过滤函数 myfilter() 的两个参数是分开传递的。

Python是一种动态语言,而且还常常号称是动态语言里面最慢的一个。最近Ruby的出现才略微改变了一下这种情况,呵呵,听说Ruby比Python还要“动态”一些。在Python中提高效率的一种可选办法是确保可读性的情况下避免使用动态特性,比如过多的"."操作符就很低效。另外,就是可以用一些函数式编程的方法,比如很多内置函数,如map()、filter()、zip()等等,应用lambda也是个不错的办法。
 
[组图]最新DIV+CSS图文布局入门教程:【上一篇】
云想衣裳花想容--JSI组件模型介绍(一):【下一篇】
【相关文章】
  • 计算PI的Python程序
  • Python 绝对简明手册
  • Python 各种方面的技巧片段
  • Python的3元运算
  • Python Cookbook 第二版 汉化版 [Recipe 1.8] 检测字符串是否包含特定的字符集合
  • Finally, I resolved the python-devel dependence issue
  • 用python写的一个网页测试工具
  • 最大公约数欧几里德算法及Python实现
  • Ruby 和 python
  • 如何使你的UltraEdit支持Python语法高亮?
  • 【随机文章】
  • 怎样添加ReiserFS文件系统
  • 文件特殊权限的解释
  • JSP中显示中文
  • PHP的栏目导航程序
  • 解决tar命令无法完成大于8G的文件包的问题
  • I am afraid you have misunderstand me.
  • 情爱箴言
  • 上传视频代码
  • 汇编 计算数字字典>0 <0 =0的个数
  • 测试工具应用之我见
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.