質問:
- Pythonはメソッドをそのようにロードしますか?誰が最後に来て誰が勝ちますか?2つのメソッドが正確な名前を共有している場合でも、引数が異なっていても(シグネチャが異なっていても)、最後のメソッドは実行時エラーを発生させることなく、とにかく前のすべてのメソッドを無効にしますか?
- Pythonにオーバーロードがない場合、JAVAのようにオーバーロードを行うためのPython推奨の方法は何ですか?
以下の例:
class Base(object):
def __init__(self):
print "Base created without args"
def __init__(self, a):
print "Base created " + a + "\n"
print Base("test")
私に与える:
Base created test
<__main__.Base object at 0x1090fff10>
print Base()
私に与えている間:
Traceback (most recent call last):
File "${path to super file}/super.py", line 27, in <module>
print Base()
TypeError: __init__() takes exactly 2 arguments (1 given)