回答編集履歴
2
修正
answer
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
> 「is_aliveは()が付いていないのでメソッドではなく変数」というのは正しいのか?
|
|
2
2
|
|
|
3
|
-
一般論としてはその通りです。ただし、propertyというものがあるので、「メソッドではなく属性」とは言えても「インスタンス変数である」とは言いづらいです。
|
|
3
|
+
一般論としてはおおむねその通りです。ただし、propertyというものがあるので、「メソッドではなく属性」とは言えても「インスタンス変数である」とは言いづらいです。
|
|
4
4
|
|
|
5
|
+
また、文法上メソッドには`()`をつけなければ駄目なんてことはなく、つけなければそれはそれでメソッドオブジェクトが得られます(けど、呼び出していないので普通はあまり意味はない)。
|
|
6
|
+
|
|
5
7
|
> is_alive変数をどのように記述すればちゃんと動作するのか?
|
|
6
8
|
|
|
7
9
|
まず知っておかないといけないことは、`__init__`はコンストラクタというもので、オブジェクトを作るとき(`chuck = Warrior()`など)に1回だけ呼ばれるということです。なのでその後更新されることはない訳です。
|
1
追記
answer
CHANGED
|
@@ -22,4 +22,6 @@
|
|
|
22
22
|
return False
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
+
参考:
|
|
25
|
-
[python property - Qiita](https://qiita.com/Sylba2050/items/d6f23ac13a0cc5da0c17)
|
|
26
|
+
[python property - Qiita](https://qiita.com/Sylba2050/items/d6f23ac13a0cc5da0c17)
|
|
27
|
+
[propertyについて - podhmoの日記](http://d.hatena.ne.jp/podhmo/20110526/1306422831)
|