【发布时间】:2016-02-03 04:33:18
【问题描述】:
我知道 python 不允许我们重载函数。但是,它有内置的重载方法吗?
考虑一下:
setattr(object_name,'variable', 'value')
setattr(class_name,'method','function')
第一个语句在运行时动态地向对象添加变量,但第二个语句在运行时将外部函数附加到类。
同一个函数根据它的参数做不同的事情。这个函数是否过载?
【问题讨论】:
-
setattr 实际上并没有在直接 python 中实现。你可以在这里看到实现:hg.python.org/cpython/file/tip/Objects/object.c
-
这两件事是一回事。
-
@user 2357112,不,他们不是。
-
@user93868:不,说真的,它们是一回事。对象碰巧是类还是属性碰巧是函数都没有关系。无论哪种方式,您都只是在设置对象的普通属性。
-
对不起,我没有意识到。感谢您清除它。
标签: python overloading