回答編集履歴

3

f

2020/08/25 16:04

投稿

sfdust
sfdust

スコア1137

test CHANGED
@@ -32,13 +32,11 @@
32
32
 
33
33
 
34
34
 
35
- 一般的なコンストラクタに該当するのは`__new__`になります。
35
+ (狭義の)「コンストラクター」に該当するのは`__new__`になります。
36
36
 
37
- (通常`__new__`をコードで扱ことはありません
37
+ (なお、`__init__`をコンストラクタとい決して誤りではありません。同じ働きをするものなので。)
38
38
 
39
- `a=Foo()`というコードによって内部的に自動的に`__new__`が呼び出されるからです。
40
-
41
- の意味で`pythonのコストラクタFoo()いう形式の記述`いう言い方もできるかもしれせんね)
39
+ (通常`__new__`をコードで扱うとはあまりありません。singletonパター(ここで詳細は書きませんが)をつくるき等、限られた場面使われはありす)
42
40
 
43
41
 
44
42
 

2

f

2020/08/25 16:03

投稿

sfdust
sfdust

スコア1137

test CHANGED
@@ -64,7 +64,7 @@
64
64
 
65
65
 
66
66
 
67
- あと、Javaでは継承先で、継承元のコンストラクタを自動で呼んでくれますが、pythonは継承先で継承元の___init__は自動では呼ばれません。
67
+ あと、Javaでは継承先で、継承元のコンストラクタを自動で呼んでくれますが、pythonは継承先で継承元の`__init__`は自動では呼ばれません。
68
68
 
69
69
 
70
70
 

1

f

2020/08/25 15:36

投稿

sfdust
sfdust

スコア1137

test CHANGED
@@ -64,7 +64,11 @@
64
64
 
65
65
 
66
66
 
67
- あと、Javaみたいに、継承先で、継承元のコンストラクタを自動では呼んでくれたりしません。
67
+ あと、Javaでは継承先で、継承元のコンストラクタを自動では呼んでくれますが、pythonは継承先で継承元の___init__は自動では呼ばれません。
68
+
69
+
70
+
71
+ これも`__init__`が他のコンストラクタとは異なっている特徴かもしれません。
68
72
 
69
73
 
70
74