【发布时间】:2015-06-07 11:50:13
【问题描述】:
我正在尝试在 python 中做这样的事情:
def foo(x, y):
# do something at position (x, y)
def foo(pos):
foo(pos.x, pos.y)
所以我想根据我提供的参数数量调用不同版本的 foo。这当然行不通,因为我重新定义了foo。
实现这一目标的最优雅的方式是什么?我宁愿不使用命名参数。
【问题讨论】:
-
在Python中有默认参数...
-
您需要针对该语言工作才能做到这一点。我宁愿只提供一个重载。
-
在 pypi 上查看 overload 包
-
@behzad.nouri:男孩,每次调用其中一个函数时,那个装饰器肯定会运行a lot of code。这几乎不是处理此问题的有效方法。
-
@MartijnPieters 可能,但它看起来很酷 :)
标签: python overloading