在像 java 这样使用静态绑定的语言中,您可以定义多个具有相同名称但参数不同的函数。学习 Python,直到现在我认为缺乏这个主要是“安全问题”(bool_parameter="False"
可能被解释为True
因为引号)。我想我只需要更加小心。
现在我发现了一种情况,缺少静态绑定简直不方便。请考虑这个元组:
var = ((1, "foo"), (2, "bar"), (3, "potato"))
要从var
静态绑定中删除项目,可以执行以下操作(伪代码:
def del_item(int i):
# search item with (x == i, *)
# remove this item
def del_item(String s):
# search item with (*, x == s)
# remove this item
我觉得这很方便,因为不需要条件来选择要执行的正确操作。此外,此代码使重载更容易,因为可以决定只重载其中一个函数或两者。
试图在 Python 中处理这样的情况,我只发现一些不方便的解决方案,比如一些检查类型的 if 子句。
有没有更好的办法?