Objekte indirekt erstellen
Verfasst: Donnerstag 12. November 2020, 20:52
Hallo,
ich bearbeite ein kleines Programm aus einem Fachbuch und habe ein paar Fragen dazu.
Speziell geht es um die Erstellung von Objekten.
Erstellung der Klasse „Fahrzeug“:
class Fahrzeug:
def __init__(self, bez, ge):
self.bezeichnung = bez
self.geschwindigkeit = ge
def beschleunigen(self, wert):
geschwindigkeit+=wert
def __str__(self):
return self.bezeichnung+" "+str(self.geschwindigkeit)+"km/h"
Jetzt erzeuge ich zwei Objekte:
opel = Fahrzeug("Opel Admiral",40)
volvo = Fahrzeug("Volvo Amazon",45)
Jetzt möchte ich allerdings ein weiteres Objekt „fiat“ erstellen.
Allerdings soll der Name der Klasse vom Operator eingegeben werden über „input()“.
z.B:
print(„Name der Automarke eingeben:“)
name=input()
„name“ enthält jetzt die Eingabe „fiat“. Das Objekt müsste dann folgendermaßen angelegt werden.
name=(„Brava“, 50)
Wenn ich es allerdings anzeigen will, dann kommt ein Systemfehler.
print(fiat)
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python38\Klassen_Objekte_5.py", line 28, in <module>
print(fiat)
NameError: name 'fiat' is not defined
Ist das Anlegen eines Objektes, dessen Name über input() eingegeben wird, überhaupt möglich?
Wenn es eine Möglichkeit gibt, wie muss ich das programmieren?
Vielen Dank.
ich bearbeite ein kleines Programm aus einem Fachbuch und habe ein paar Fragen dazu.
Speziell geht es um die Erstellung von Objekten.
Erstellung der Klasse „Fahrzeug“:
class Fahrzeug:
def __init__(self, bez, ge):
self.bezeichnung = bez
self.geschwindigkeit = ge
def beschleunigen(self, wert):
geschwindigkeit+=wert
def __str__(self):
return self.bezeichnung+" "+str(self.geschwindigkeit)+"km/h"
Jetzt erzeuge ich zwei Objekte:
opel = Fahrzeug("Opel Admiral",40)
volvo = Fahrzeug("Volvo Amazon",45)
Jetzt möchte ich allerdings ein weiteres Objekt „fiat“ erstellen.
Allerdings soll der Name der Klasse vom Operator eingegeben werden über „input()“.
z.B:
print(„Name der Automarke eingeben:“)
name=input()
„name“ enthält jetzt die Eingabe „fiat“. Das Objekt müsste dann folgendermaßen angelegt werden.
name=(„Brava“, 50)
Wenn ich es allerdings anzeigen will, dann kommt ein Systemfehler.
print(fiat)
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python38\Klassen_Objekte_5.py", line 28, in <module>
print(fiat)
NameError: name 'fiat' is not defined
Ist das Anlegen eines Objektes, dessen Name über input() eingegeben wird, überhaupt möglich?
Wenn es eine Möglichkeit gibt, wie muss ich das programmieren?
Vielen Dank.