我有一个包含几个函数的类(其中大部分包含解析smth的代码,获取所有必要的信息并打印出来).我正在尝试打印一个班级,但我得到了smth.喜欢<_ main _.TestClass实例,位于0x0000000003650888>.代码示例:
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
Run Code Online (Sandbox Code Playgroud)
当我在课外打印功能时 - 一切都好.我做错了什么,怎么打印课?
谢谢!
这是预期的行为.Python无法知道如何表示类,除非您定义一个__str__或__repr__方法来为类提供字符串表示.
要清楚:__repr__通常定义为生成一个字符串,可以将其评估回类似的对象(在您的情况下TestClass()).默认__repr__打印出<__main__.TestClass instance at 0xdeadbeef>您看到的内容.
示例__repr__:
def __repr__(self):
return self.__class__.__name__ + '()' # put constructor arguments in the ()
Run Code Online (Sandbox Code Playgroud)
__str__可以定义为生成类的人类可读的"描述".如果没有提供,你得到__repr__.
示例__str__:
def __str__(self):
return "(TestClass instance)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
461 次 |
| 最近记录: |