回答編集履歴

2

修正

2018/09/25 07:56

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -5,11 +5,11 @@
5
5
  >>> class Hoge:
6
6
  ... pass
7
7
  ...
8
- >>> type(Hoge)
9
- <type 'classobj'>
10
8
  >>> class Fuga(object):
11
9
  ... pass
12
10
  ...
11
+ >>> type(Hoge)
12
+ <type 'classobj'>
13
13
  >>> type(Fuga)
14
14
  <type 'type'>
15
15
  >>> Hoge.__bases__
@@ -18,6 +18,8 @@
18
18
  (<type 'object'>,)
19
19
  ```
20
20
 
21
+ 最初からあったのはobjectを継承しない方のクラスだったのですが、結果的にちょっとアレな型システムになっていたらしく、objectを継承するクラスが後付で追加されました。
22
+
21
23
  python3ではすべて「暗黙的にobjectを継承するクラス」になりました。明示的に継承したければできますけど(無意味)。
22
24
 
23
25
  ```python
@@ -25,16 +27,18 @@
25
27
  >>> class Hoge:
26
28
  ... pass
27
29
  ...
28
- >>> type(Hoge)
29
- <class 'type'>
30
30
  >>> class Fuga(object):
31
31
  ... pass
32
32
  ...
33
+ >>> type(Hoge)
34
+ <class 'type'>
33
35
  >>> type(Fuga)
34
36
  <class 'type'>
35
37
  >>> Hoge.__bases__
36
38
  (<class 'object'>,)
37
39
  >>> Fuga.__bases__
38
40
  (<class 'object'>,)
41
+ ```
39
42
 
40
- ```
43
+ 参考:
44
+ [新旧クラススタイル | Python-izm](https://www.python-izm.com/advanced/class_style/)

1

修正

2018/09/25 07:56

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  (<type 'object'>,)
19
19
  ```
20
20
 
21
- python3ではすべて「暗黙的にobjectを継承するクラス」になりました。明示的に継承したければできますけど。
21
+ python3ではすべて「暗黙的にobjectを継承するクラス」になりました。明示的に継承したければできますけど(無意味)
22
22
 
23
23
  ```python
24
24
  $ python3