- くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
92 :ダメ五郎[]:2015/06/04(木) 19:42:09.83 ID:6dpaJYI0 - >>79
解説ありがとうございます。なんとなく分かったような気がします。 >てことで引数を受け取ったり、初期化したりは __init__(self,第一引数,第二引数,,)のところでやるのが作法なのさ とのことですが、selfは引数ではないのでしょうか? さらに、__init__(self,第一引数,第二引数)で、 第一引数を使う時(初期化?)は、self.第一引数 第二引数を使う時 (初期化?)は、self.第二引数 とするのでしょうか?
| - くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
93 :デフォルトの名無しさん[]:2015/06/04(木) 22:10:08.62 ID:6dpaJYI0 - >>> class Dice1:
... def __init__(self): ... face_num = 6 ... print('初期化OK') ... def shoot(self): ... random.randint(1,self.face_num) ... >>> b = Dice1() 初期化OK >>> b.shoot() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 6, in shoot AttributeError: Dice1 instance has no attribute 'face_num' なんでエラーになってしまうのでしょうか?
| - くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
95 :pythonスタートブックww[]:2015/06/04(木) 23:20:53.90 ID:6dpaJYI0 - <-質問->
class Dice1: i = 6 def __init__(self): print('初期化OK') def shoot(self): return random.randint(1,self.i) i = 6はなぜdef shoot(self)メソッドの中で使えるのでしょうか? メソッドの引数(self)は、自分自身を参照するとのことですが、 def __init__(self):のselfは、class Dice1、つまりクラス全体を 参照しているということでしょうか? def shoot(self)のselfは、shoot()という自分自身を参照している のでしょうかそれともclass Dice1を参照しているのでしょうか? selfは自分自身を参照するといいますが、いったい自分自身とは どこのことを言っているのでしょう? どなたか分かるかたいますでしょうか? pythonスタートブックの説明が分からなすぎます。。。。
| - くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
97 :pythonスタートブックww[]:2015/06/04(木) 23:58:28.26 ID:6dpaJYI0 - >>96
>もう一度読み直したほうがいいよ 10回以上読み直してます。 インスタンスを参照するなんて文言は一言も書いていません。すべて、自分自身を参照 とか、インスタンスを「self」と呼ぶことが決められています。と記載してあります。 Pythonスタートブック P233 で、 >def __init__(self):のselfは、class Dice1、つまりクラス全体を >参照しているということでしょうか? 違う →じゃあ、何を参照しているのですか? >def shoot(self)のselfは、shoot()という自分自身を参照している >のでしょうかそれともclass Dice1を参照しているのでしょうか? そのどちらでもない →じゃあ、何を参照しているのですか? pythonスタートブックには、自分自身と記載してありましたよ。
|
|