Python3类你能把它变成一个字符串吗?

2024-04-28 22:13:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个类:Hopper 所以第一只兔子=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”这样的名称,以便我可以打印信息?你知道吗


Tags: 函数nameselfnumber参数returninitdef
2条回答

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

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

这实际上不会有什么不同,但是属性name就是为了这个目的而存在的,所以最好使用它。或者,因为您可能希望保留告诉您信息的repr,所以不要通过

print(rabbit)

比你用的还多

print(rabbit.__name__)

或者只是做第二个函数,比如

def name(self):
    return self.__name__
def __str__(self):
    return self.name

你可以用

print(first_rabbit)

相关问题 更多 >