基本的尾调用移除装饰器
项目描述
# tcopy
_不要使用 this._
Python 的直接尾调用优化装饰器。
## 示例:
```python
from tcopy import tco
@tco
def fib(n, x=0, y=1):
if n == 0:
return x
return fib(n - 1, y, x + y)
` `` `tco` 装饰器将在定义时
将 `fib` 重写为以下内容: ```python def fib(n, x=0, y=1): while 1: if n == 0: return x n, x, y = n - 1, y, x + y ``` ## Quirks `tco` 使用 `inspect.getsource` 来获取函数的源代码
磁盘。因此,装饰器在 Python REPL 中不起作用。
_不要使用 this._
Python 的直接尾调用优化装饰器。
## 示例:
```python
from tcopy import tco
@tco
def fib(n, x=0, y=1):
if n == 0:
return x
return fib(n - 1, y, x + y)
` `` `tco` 装饰器将在定义时
将 `fib` 重写为以下内容: ```python def fib(n, x=0, y=1): while 1: if n == 0: return x n, x, y = n - 1, y, x + y ``` ## Quirks `tco` 使用 `inspect.getsource` 来获取函数的源代码
磁盘。因此,装饰器在 Python REPL 中不起作用。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
tcopy-0.1.2.tar.gz
(2.8 kB
查看哈希)
内置分布
tcopy-0.1.2.macosx-10.10-intel.exe
(65.7 kB
查看哈希)