Ich arbeite an einer Aufgabe für die Klasse und erhalte die folgenden Attribute:Attribute: ‚str‘ Objekt hat kein Attribut ‚_Animal__animal_available‘
File "C:\Users\***\Desktop\Python\******PetStore\Animal.py", line 24, in get_available
self.__animal_available = 'available'
AttributeError: 'str' object has no attribute '_Animal__animal_available'
Die Zuordnung ist Programm zum Erstellen einer Zoohandlung zu simulieren. Das Programm muss Tier mit einem Namen erstellen, und ob es verfügbar ist. Wann auch immer, nachdem ich das Tier zur Verfügung gestellt habe, bekomme ich den Fehler oben. Hier ist ein Ausschnitt des Hauptprogramms.
elif menu_input == '1':
type = input("What type of animal would you like to create? ")
name = input("What is the animal’s name? ")
available = input('Is the animal available for adoption y/n? ')
Animal.Animal.get_available(available, available)
Jetzt ist hier die Tier-Klasse, wo der Fehler ausgelöst wird.
import random
class Animal:
def __init__(self, animal_type, animal_name, available):
self.__animal_name = animal_name
self.__animal_type = animal_type
self.set_mood()
self.get_available()
def get_animal_type(self):
return self.__animal_type
def get_name(self):
return self.__animal_name
def check_mood(self):
return self.__mood
def get_available(self, available):
if available != 'y':
self.__animal_available = 'not available'
else:
self.__animal_available = 'available'
return self.__animal_available
def set_mood(self):
random_number = random.randint(1,3)
if(1 == random_number):
self.__mood = "happy"
if(2 == random_number):
self.__mood = "hungry"
if(3 == random_number):
self.__mood = "sleepy"
Das ist keine Klasse, die eine Methode ist. Könnten Sie bitte die ** _ Klasse _ ** zeigen? –
Erstens, teilen Sie den Inhalt der Klasse. Außerdem, warum hast du 'Animal.Animal' zweimal in deinem Code? –
Die gesamte Klasse hinzugefügt. Ich habe Tier zweimal, weil ich ein AttributError sag get_available ist nicht definiert, wenn ich nur Animal.get_available (verfügbar) – UnMarkedTrailer