Javaではクラスを作ると、暗黙的にjava.lang.Objectを継承します。
Pythonではクラスを継承した時、java.lang.Objectに相当するクラスを暗黙的に継承しますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
python2(厳密にはpython2.2以降)では「objectを継承しないクラス」と「明示的にobjectを継承するクラス」の二種類があり、両者は別物でした。
python
1$ python2 2>>> class Hoge: 3... pass 4... 5>>> class Fuga(object): 6... pass 7... 8>>> type(Hoge) 9<type 'classobj'> 10>>> type(Fuga) 11<type 'type'> 12>>> Hoge.__bases__ 13() 14>>> Fuga.__bases__ 15(<type 'object'>,)
最初からあったのはobjectを継承しない方のクラスだったのですが、結果的にちょっとアレな型システムになっていたらしく、objectを継承するクラスが後付で追加されました。
python3ではすべて「暗黙的にobjectを継承するクラス」になりました。明示的に継承したければできますけど(無意味)。
python
1$ python3 2>>> class Hoge: 3... pass 4... 5>>> class Fuga(object): 6... pass 7... 8>>> type(Hoge) 9<class 'type'> 10>>> type(Fuga) 11<class 'type'> 12>>> Hoge.__bases__ 13(<class 'object'>,) 14>>> Fuga.__bases__ 15(<class 'object'>,)
投稿2018/09/25 07:47
編集2018/09/25 07:56総合スコア30939
0
はい。
object は全てのクラスの基底クラスです。
引用元: Python 標準ライブラリ » 組み込み関数 » class object
Python
1>>> class MyClass: 2... pass 3... 4>>> MyClass.__bases__ 5(<class 'object'>,)
投稿2018/09/25 07:34
編集2018/09/25 07:37総合スコア35676
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/25 08:15
2018/09/25 10:02 編集
2018/09/25 10:02 編集
2018/09/25 10:19

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/26 00:01