I have a class that contains several functions(most of it contains code that parses smth., get all necessary info and print it). I’m trying to print a class but i get smth. like <_main_.TestClass instance at 0x0000000003650888>. Code sample:
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
When i print functions out of class – all is ok. What i’m doing wrong and how can I print a class?
Thanks!
That’s the expected behaviour. Python can’t know how the class is represented unless you define a
__str__or__repr__method to give the class a string representation.To be clear:
__repr__is usually defined to produce a string that can be evaluated back into a similar object (in your case,TestClass()). The default__repr__prints out the<__main__.TestClass instance at 0xdeadbeef>thing you see.Example
__repr__:__str__can be defined to produce a human-readable “description” of the class. If not supplied, you get__repr__.Example
__str__: