Ich habe mehrere Tutorials auf Python gemacht und ich weiß, wie man Klassen definiert, aber ich weiß nicht, wie man sie benutzt. Zum Beispiel habe ich erstellen Sie die folgende Datei (car.py):Erzeuge Objekt aus der Klasse in einer separaten Datei
class Car(object):
condition = 'New'
def __init__(self,brand,model,color):
self.brand = brand
self.model = model
self.color = color
def drive(self):
self.condition = 'Used'
Dann erstelle ich eine andere Datei (Mercedes.py), wo ich will ein Objekt Mercedes aus der Klasse Car erstellen:
Mercedes = Car('Mercedes', 'S Class', 'Red')
, aber ich erhalte eine Fehlermeldung:
NameError: name 'Car' is not defined
Wenn ich eine Instanz (Objekt) in der gleichen Datei zu erstellen, wo ich es erstellt (Auto), habe ich keine Probleme:
class Car(object):
condition = 'New'
def __init__(self,brand,model,color):
self.brand = brand
self.model = model
self.color = color
def drive(self):
self.condition = 'Used'
Mercedes = Car('Mercedes', 'S Class', 'Red')
print (Mercedes.color)
Welche druckt:
Red
Die Frage ist also: Wie kann ich ein Objekt aus einer Klasse aus verschiedener Datei im selben Paket (Ordner) erstellen?
Ist Ihnen klar, dass 'condition' ist ein * Klassenattribut *, von allen Instanzen geteilt? – jonrsharpe
@ jonrsharpe, Um für jedes Objekt getrennt zu sein, sollte ich es in self.condition umbenennen? – Trenera
Ja, setze es als 'self.condition = 'New'' * innerhalb *' __init__'. – jonrsharpe