我有一个班级和一些方法
class ThisClass:
def method1(self):
text1 = 'iloveyou'
return text1
def method2(self):
text2 = self.method1
print str(text2)
thisObj = ThisClass()
thisObj.method2
我得到的结果就像是
<bound method thisclass.method2 of <__main__.thisclass instance at 0x10042eb90>>
如何打印'iloveyou'而不是那个?
谢谢!
答案 0 :(得分:7)
缺少方法调用的()。如果没有(),则打印方法对象的字符串表示形式,对于包括自由函数在内的所有可调用对象也是如此。
确保您为所有方法调用执行此操作(self.method
1和thisObj.method2
)
class ThisClass:
def method1(self):
text1 = 'iloveyou'
return text1
def method2(self):
text2 = self.method1()
print str(text2)
thisObj = ThisClass()
thisObj.method2()
答案 1 :(得分:0)
在method2
中,您可以调用函数而不是分配函数指针。
def method2(self):
text2 = self.method1()
print text2
答案 2 :(得分:0)
In [23]: %cpaste
Pasting code; enter '--' alone on the line to stop.
:class ThisClass:
:
: def method1(self):
: text1 = 'iloveyou'
: return text1
:
: def method2(self):
: text2 = self.method1()
: print str(text2)
:--
In [24]: thisObj = ThisClass()
In [25]: thisObj.method2()
iloveyou
In [26]: