Pythonでオブジェクト指向プログラミングを理解しようとしています。新しいプログラミングです。 私は理解していない私にエラーを与えているこのクラスを持っていると誰もが私のために、この上でより多くの光を投げることができる場合、私は喜んでいるでしょう:Pythonオブジェクト指向プログラミング
class TimeIt(object):
def __init__(self, name):
self.name = name
def test_one(self):
print 'executed'
def test_two(self, word):
self.word = word
i = getattr(self, 'test_one')
for i in xrange(12):
sleep(1)
print 'hello, %s and %s:' % (self.word, self.name),
i()
j = TimeIt('john')
j.test_two('mike')
を、私はこのクラスを実行すると、私は'int' object is not callable" TypeError
ただし、i
の前にself
(self.i
)と入力すると動作します。
class TimeIt(object):
def __init__(self, name):
self.name = name
def test_one(self):
print 'executed'
def test_two(self, word):
self.word = word
self.i = getattr(self, 'test_one')
for i in xrange(12):
sleep(1)
print 'hello, %s and %s:' % (self.word, self.name),
self.i()
私の質問は、i = getattr(self, 'test_one')
はi
にtest_one機能を割り当てることはありませんか?
どうしてi()
はうまくいかないのですか?
self.i()
はなぜ機能しますか?
なぜi
はint
(したがって'int' object is not callable TypeError
)ですか?
これはたくさんの質問です。事前に感謝します
で
を交換するメソッドを呼び出すことができます。私はxrange()を反復するためにそれを使用しているので、私は '私'を使ってはいけません。 pheeew – kassold