Я точно не знаю, что вы пытаетесь сделать.Позвольте мне добавить немного случайной информации.
Сначала добавьте этот класс:
class FooNew(object):
def __str__(self):
return 'Fubar'
Напечатайте это вместо:
if __name__ == '__main__':
print "You are calling type for an old style class"
print(Foo)
print(type.__str__(Foo))
print(Foo())
print("But my Python 2.6 didn't match your output for print(Foo)")
print("You are calling object.str() for a new style class")
print(FooNew)
print(object.__str__(FooNew))
print(FooNew())
print("Why do you want to change this?")
Чтобы получить это:
You are calling type for an old style class
__main__.Foo
<class __main__.Foo at 0xb73c9f5c>
Bar
But my Python 2.6 didn't match your output for print(Foo)
You are calling object.str() for a new style class
<class '__main__.FooNew'>
<class '__main__.FooNew'>
Fubar
Why do you want to change this?
Вы абсолютно уверены, что не хотите вызывать метод класса?