zoukankan      html  css  js  c++  java
  • 几个Python小程序

    1:

    def buildConnectionString(param):
        """
        """
        return ";".join("%s=%s" %(k,v) for k,v in param.items())

    if __name__=="__main__":
        myParams={"server":"mpilgrim", \
                    "database":"master", \
                    "uid":"sa", \
                    "pwd":"secret" \
                    }
        print buildConnectionString(myParams)

    --------------------------

    没什么好说的

    2:

    def info(object,spacing=10,collapse=1):
        """
        list the api of the object
        """
        methodList=[method for method in dir(object) if callable(getattr(object,method))]
        processFunc=collapse and (lambda s:" ".join(s.split())) or (lambda s:s)
        print "\n".join("%s %s" %(method.ljust(spacing),processFunc(str(getattr(object,method).__doc__))) for method in methodList )
       
    if __name__=="__main__":
        print info.__doc__
        li=[]
        info(li)

    -----------------------------------------------------

    methodList=[method for method in dir(object) if callable(getattr(object,method))]

    注意句法, XX for in XXX if ***

    processFunc=collapse and (lambda s:" ".join(s.split())) or (lambda s:s)

    lambda表达式 and or

    and例子

    >>> 'a' and 'b'         1
    'b'
    >>> '' and 'b' 2
    ''
    >>> 'a' and 'b' and 'c' 3
    'c'

    如果有假值,则返回第一个假值,否则返回最后一个真值

    or例子:

    >>> 'a' or 'b'          1
    'a'
    >>> '' or 'b' 2
    'b'
    >>> '' or [] or {}      3
    {}

    如果有真值,返回第一个真值,否则返回最后一个假值

    lambda例子:

    >>> def f(x):
    ...     return x*2
    ...    
    >>> f(3)
    6
    >>> g = lambda x: x*2 1
    >>> g(3)
    6
    >>> (lambda x: x*2)(3) 2
    6


  • 相关阅读:
    Selenium2+python自动化17-JS处理滚动条
    图论一
    HDU1106
    银行家算法学习笔记
    NYOJ 540
    我在博客园 2013-08-02 22:04 200人阅读 评论(0) 收藏
    编程之美:平面最近点对
    RIA算法解决最小覆盖圆问题
    求两直线交点和三角形内外心
    求圆心
  • 原文地址:https://www.cnblogs.com/macula7/p/1960422.html
Copyright © 2011-2022 走看看