wake-up-neo.net

Erstellen Sie ein Objekt aus der Klasse in einer separaten Datei

Ich habe mehrere Tutorials zu Python gemacht und weiß, wie man Klassen definiert, aber ich weiß nicht, wie man sie benutzt. Zum Beispiel erstelle ich die folgende Datei (car.py):

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 weitere Datei (Mercedes.py), in der ich ein Objekt Mercedes aus der Klasse Car erstellen möchte:

Mercedes = Car('Mercedes', 'S Class', 'Red')

, aber ich bekomme eine Fehlermeldung:

NameError: name 'Car' is not defined

Wenn ich eine Instanz (Objekt) in derselben Datei erstellt habe, in der ich sie (Auto) erstellt habe, 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 drucke:

Red

Die Frage ist also: Wie kann ich ein Objekt aus einer Klasse aus einer anderen Datei in demselben Paket (Ordner) erstellen?

24
Trenera

In Ihrem Mercedes.py sollten Sie die car.py-Datei wie folgt importieren (solange sich die beiden Dateien im selben Verzeichnis befinden):

import car

Dann können Sie tun:

Mercedes = car.Car('Mercedes', 'S Class', 'Red')  #note the necessary 'car.'

Alternativ können Sie das auch tun

from car import Car

Mercedes = Car('Mercedes', 'S Class', 'Red')      #no need of 'car.' anymore
46
sshashank124

Verwenden Sie einfach den Importbefehl in Ihrer Mercedes-Datei. Es gibt ein gutes Intro über das Importieren in Python in hier

0
Oren T