创建矩阵类(C++)
#include<iostream> using namespace std; template<class T> class matrix { public: matrix(int theRows = 0, int theColumns = 0); ma
#include<iostream> using namespace std; template<class T> class matrix { public: matrix(int theRows = 0, int theColumns = 0); ma
支持函数式编程的包 Python的目标不是变成函数式语言,但是得益于operator和functools等包的支持,函数式编程风格也可以信手拈来 operator模块 在函数式编程中,经常需要把算术运算符当作函数使用。例如,不适使用递归计算阶乘。求和可以使用sum函数,但是求积没
函数注解 Python 3提供了一种句法,用于为函数声明中的参数和返回值附加元数据 # 有注解的clip函数 def clip(text: str, max_len: 'int>0' = 80) -> str: # max_len参数的注解是字符串 &
获取关于参数的信息 HTTP微框架Bobo有个使用内省函数的例子 # Bobo直到hello需要person参数,并且从HTTP请求中获取它 import bobo @bobo.query('/') def hello(person): return 'H
从定位参数到仅限关键字参数 Python最好的特性之一是提供了极为灵活的参数处理机制,而且Python3进一步提供了仅限关键字参数(keyword-only argument)。与之密切相关的是,调用函数时使用*和**展开可迭代对象,映射到单个参数 # tag函数用于生成HTML
函数内省 除了__doc__,函数对象还有很多属性。使用dir函数可以探知factorial具有下述属性: def factorial(n): return 1 if n < 2 else n * factorial(n - 1) dir(factorial) ['
可调用对象 除了用户定义的对象,调用运算符(即())还可以应用到其他对象上。如果想判断对象能否调用,可以使用内置的callable()函数。 Python数据模型文档列出了7种可调用对象 1.用户定义的函数 使用def语句或lambda表达式创建 内置函数 使用C语言(CPyth
匿名函数 lambda关键字在Python表达式内部创建匿名函数 然后,Python简单的语法限制了lambda函数的定义体只能使用纯表达式。lambda函数的定义体中不能赋值,也不能使用while和try等Python语句 在参数列表中最适合使用匿名函数 # 使用lambda表
高阶函数 接受函数为参数,或者把函数作为结果返回的函数是高阶函数(high-order function)。map函数就是一个,内置函数sorted也是:可选的key参数用于提供一个函数,它会应用到各个元素上进行排序 # 根据单词长度给一个列表排序 fruits = ['
一等函数 在Python中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 在Python中,整数、字符串和字典都是一等对象 把函数视作对象 Python函数是对