Python 学习笔记:需要仔细阅读一个函数

 1  def  info(object, spacing = 10 , collapse = True):
 2       """ Print methods and doc strings.
 3      
 4      Takes module, class, list, dictionary, or string. """
 5      methodList  =  [method  for  method  in  dir(object)  if  callable(getattr(object, method))]
 6      processFunc  =  collapse  and  ( lambda  s:  "   " .join(s.split()))  or  ( lambda  s: s)
 7       print   " \n " .join([ " %s %s "   %
 8                        (method.ljust(spacing),
 9                         processFunc(str(getattr(object, method). __doc__ )))

10                      for method in methodList])

  • 用可选和命名参数定义和调用函数
  • 用str强制转换任意值为字符串形式
  • 用getattr动态得到函数和其它属性的引用
  • 扩展列表解析语法实现列表过滤
  • 识别and-or技巧并安全地使用它
  • 使用lambda 函数

你可能感兴趣的:(python)