How can I print a Python class?
本问题已经有最佳答案,请猛点这里访问。
我有一个包含几个函数的类(其中大部分包含解析smth的代码,获取所有必要的信息并打印出来)。我正在打印一个班级,但我得到了SMTH。类似于位于0x000000003650888>的<.testclass实例。代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | from lxml import html import urllib2 url = 'someurl.com' class TestClass: def testFun(self): f = urllib2.urlopen(url).read() #some code print 'Value for ' +url+ ':', SomeVariable def testFun2(self): f2 = urllib2.urlopen(url).read() #some code print 'Value2 for ' +url+ ':', SomeVariable2 test = TestClass() print test |
当我在课堂外打印函数时-一切正常。我做错了什么?我该如何打印课程?
谢谢!
这就是预期的行为。除非定义
要清楚的是:
示例
1 2 | def __repr__(self): return self.__class__.__name__ + '()' # put constructor arguments in the () |
可以定义
示例
1 2 | def __str__(self): return"(TestClass instance)" |
看起来您希望打印类的实例,而不是类本身。定义一个
请参见:http://docs.python.org/2/reference/datamodel.html object. repr__
http://docs.python.org/2/reference/datamodel.html object.uu str__