質問するログイン新規登録

回答編集履歴

2

修正

2019/02/21 16:44

投稿

hayataka2049
hayataka2049

スコア30939

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

追記

2019/02/21 16:44

投稿

hayataka2049
hayataka2049

スコア30939

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)