摘要:
Python 3 提供了一种句法,用于为函数声明中的参数和返回值附加元数据。二者唯一的区别在第一行。 示例 5-19 有注解的 clip 函数 def clip(text:str, max_len:'int > 0'=80) -> str: ➊ """在max_len前面或后面的第一个空格处截断文本 阅读全文
摘要:
不仅 Python 函数是真正的对象,任何 Python 对象都可以表现得像函数。为此,只需实现实例方法 __call__。 示例 5-8 实现了 BingoCage 类。这个类的实例使用任何可迭代对象构建,而且会在内部存储一个随机顺序排列的列表。调用实例会取出一个元素。 示例 5-8 bingoc 阅读全文
摘要:
除了用户定义的函数,调用运算符(即 ())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的 callable() 函数。Python 数据模型文档列出了 7 种可调用对象。 用户定义的函数 使用 def 语句或 lambda 表达式创建。 内置函数 使用 C 语言(CPython)实现 阅读全文
摘要:
接受函数为参数,或者把函数作为结果返回的函数是高阶函数(higherorder function)。map 函数就是一例,如示例 5-2 所示。此外,内置函数 sorted 也是:可选的 key 参数用于提供一个函数,它会应用到各个元素上进行排序。 例如,若想根据单词的长度排序,只需把 len 函 阅读全文