<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    4.9. 小結

    apihelper.py 程序和它的輸出現在應該非常清晰了。

    
    def info(object, spacing=10, collapse=1):
        """Print methods and doc strings.
        
        Takes module, class, list, dictionary, or string."""
        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__

    apihelper.py 的輸出:

    >>> from apihelper import info
    >>> li = []
    >>> info(li)
    append     L.append(object) -- append object to end
    count      L.count(value) -> integer -- return number of occurrences of value
    extend     L.extend(list) -- extend list by appending list elements
    index      L.index(value) -> integer -- return index of first occurrence of value
    insert     L.insert(index, object) -- insert object before index
    pop        L.pop([index]) -> item -- remove and return item at index (default last)
    remove     L.remove(value) -- remove first occurrence of value
    reverse    L.reverse() -- reverse *IN PLACE*
    sort       L.sort([cmpfunc]) -- sort *IN PLACE*; if given, cmpfunc(x, y) -> -1, 0, 1

    在研究下一章前,確保你可以無困難的完成下面這些事情:

    • 可選和命名參數定義和調用函數
    • str 強制轉換任意值為字符串形式
    • getattr 動態得到函數和其它屬性的引用
    • 擴展列表解析語法實現列表過濾
    • 識別 and-or 技巧并安全地使用它
    • 定義 lambda 函數
    • 將函數賦值給變量然后通過引用變量調用函數。我強調的已經夠多了:這種思考方式對于提高對 Python 的理解力至關重要。在本書中你會隨處可見這種技術的更復雜的應用。
    97av