我試圖用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')
分配test_one功能i
?
i()
怎麼不行?
爲什麼self.i()
有效?
爲什麼i
和int
(因此'int' object is not callable TypeError
)?
這是很多問題。在此先感謝
我想我只是意識到這點。我不應該使用'i',因爲我正在使用它來遍歷xrange()。 pheeew – kassold 2011-01-19 15:30:13