В глубь языка Python


Заключение


Теперь код программы apihelper.py обрел смысл.

Пример 2.31. apihelper.py

def help(object, spacing=10, collapse=1): """Выводит методы и строки документации.

В качестве аргумента может использоваться модуль, класс, список, словарь или строка.""" 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 help.__doc__

Пример 2.32. Вывод apihelper.py

>>> from apihelper import help >>> li = [] >>> help(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

Перед тем как перейти к следующей главе убедитесь, что вы овладели следующими навыками:

  • Определение и вызов функций с
  • Использование функции для получения строкового представления произвольного объекта
  • Использование функции для динамического доступа к атрибутам
  • Использование расширенной записи списков для
  • Распозновани и его безопасное использование
  • Определение
  • и использование этой переменной для вызова. Понимание этого приема жизнено необходимо для понимания языка Python. В книге вы увидите более сложные приложения этой концепции.