Python3类 - 你能把它改成字符串吗?

时间:2013-11-22 01:20:53

标签: python class

我创建了一个类:Hopper 所以first_rabbit = Hopper('Thumper')

def __init__(self,name):
        self.name=name
        number_hops=10 
        self.number_hops=number_hops
def __repr__(self):
        return (self.name + str(self.number_hops))

然而,在课堂之外,我使用了一个功能:跳跃比赛(第一,第二): 参数将是兔子(即:Hopper('Thumper'))

在那个功能中有没有办法隔离像'Thumper'这样的名字,以便我可以打印信息?

2 个答案:

答案 0 :(得分:1)

您实际上可以在内置属性中更进一步,并使用名称属性。它会是这样的:

def __init__(self,name):
    self.__name__=name
    number_hops=10 
    self.number_hops=number_hops
def __repr__(self):
    return self.__name__

这不会做任何不同的事情,但属性名称就是出于此目的,所以最好使用它。或者,因为您可能希望保留 repr ,告诉您两种信息,所以不要通过

访问它
print(rabbit)

比使用

print(rabbit.__name__)

或者只是制作第二个功能,比如

def name(self):
    return self.__name__

答案 1 :(得分:0)

def __str__(self):
    return self.name

你可以用

调用它

print(first_rabbit)