トップページ > プログラム > 2015年06月04日 > 6dpaJYI0

書き込み順位&時間帯一覧

10 位/173 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000100124



使用した名前一覧書き込んだスレッド一覧
ダメ五郎
デフォルトの名無しさん
pythonスタートブックww
くだすれPython(超初心者用) その26 [転載禁止]©2ch.net

書き込みレス一覧

くだすれ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スタートブックには、自分自身と記載してありましたよ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。