我有一个自定义类,例如:
class foo(object):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
我想做的是写
test = foo("test")
print test
代替
test = foo("test")
print test.get_name()
做到这一点的神奇方法是什么?
有两种相关的方法。有的是__str__
将对象“转换”为字符串的方法。然后有一个__repr__
将您的对象转换为“程序员表示”的方法。这print
函数(或语句,如果您使用的是 Python 2),使用str
函数将对象转换为字符串,然后将其写入sys.stdout
. str
通过首先检查来获取字符串表示形式__str__
方法,如果失败,则检查__repr__
方法。您可以根据自己的方便程度来实施它们,以获得您想要的东西。
就您自己的情况而言,实施
def __str__(self):
return self.__name
应该足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)