Stworzyłem klasę: Hopper, tak że First_Babbit = 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))

Jednak poza klasą, używam funkcji: konkurs skokowy (pierwszy, drugi): gdzie parametry byłyby króliki (np. Lokper ("Thumper")))

W tej funkcji jest sposób, aby odizolować tylko nazwę jak "Thumper", dzięki czemu mogę drukować informacje?

0
WildCat 22 listopad 2013, 05:20

2 odpowiedzi

Najlepsza odpowiedź

W rzeczywistości można było iść o krok dalej w wybudowanym atrybutach i użyj nazwy Atrybut. Byłoby to takie:

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

Nie zrobiłoby to nic innego, ale atrybut nazwa jest w tym celu, więc najlepiej jest go użyć. Alternatywnie, ponieważ prawdopodobnie chcesz zachować REP , który mówi ci obie aices informacji, więc zamiast go uzyskiwać

print(rabbit)

Niż użyłeś

print(rabbit.__name__)

Lub po prostu wykonaj drugą funkcję, jak

def name(self):
    return self.__name__
1
trevorKirkby 22 listopad 2013, 01:38
def __str__(self):
    return self.name

I możesz go wywołać

print(first_rabbit)

0
Maria Ines Parnisari 22 listopad 2013, 01:24