0
>>> class MyKlass:
... pass
...
>>>
>>>
>>> a = MyKlass()
>>>
>>> type(a)
<type 'instance'>
>>> type(MyKlass)
<type 'classobj'>
>>>
>>>
>>> class MyKlass(object):
... pass
...
>>>
>>> a = MyKlass()
>>>
>>> type(a)
<class '__main__.MyKlass'>
>>> type(MyKlass)
<type 'type'>
>>>
上記のコードでは、1つのクラスは基本クラスから継承されず、もう1つはobject
基本クラスから継承されます。クラスPythonの動作が異なります
明示的に継承しないと、どこか読んだことがあります。デフォルトの親クラスはobject
です。
デフォルトではobject
の場合、両方のクラスの型が異なるのはなぜですか?これらの異なる行動を上回るこれらの行動はいつ、どのように有用ですか?
を拡張する必要があります – guidot
「新しい」スタイルクラス( 'object'から継承するクラス)と「古い」スタイルクラス(これは' not'your ' 'オブジェクト'から継承する): "新しいクラス"は、現代のPythonでクラスを作成するための推奨される方法です。 " "modern"という言葉は、Pythonバージョン2.2と最大2.7を意味します。Python 3では、すべてのクラスが新しいスタイルのクラスです。 –