This Python 2 example:なぜPython 2の `super`は明示的なクラス引数と自己引数を必要としますか?
class LoggingDict(dict):
# Simple example of extending a builtin class
def __setitem__(self, key, value):
logging.info('Setting %r to %r' % (key, value))
super(LoggingDict, self).__setitem__(key, value)
class LoggingDict(dict):
# Simple example of extending a builtin class
def __setitem__(self, key, value):
logging.info('Setting %r to %r' % (key, value))
super().__setitem__(key, value)
は、Python 2のsuper
は、明示的なクラスとself
引数(ただし、Pythonの3のdoesntのを)必要とするという事実を示しています。何故ですか?それは刺激的な限界のようです。
あなたはここでそれを見つけることができるかもしれません - [なぜPython 3.xのsuper()魔法ですか?](http://stackoverflow.com/questions/19608134/why-is-python-3-xs-スーパーマジック) – AKS
これは、質問にはあまり答えないが、噛みつくための役に立つ文脈を提供している。座って考えて、答えが出てくるかもしれない。 – Brendan
実際、「コンパイル時の魔法」が実行されていることと、「スーパー(自己.__クラス__...)」が「バッド」であるという事実にも言及しています。考えましょう! – Brendan