Créer un objet à partir d'une classe dans un fichier séparé
J'ai fait plusieurs tutoriels sur Python et je sais comment définir des classes, mais je ne sais pas comment les utiliser. Par exemple, je crée le fichier suivant (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'
Ensuite, je crée un autre fichier (Mercedes.py), où je veux créer un objet Mercedes à partir de la classe Car:
Mercedes = Car('Mercedes', 'S Class', 'Red')
, mais je reçois une erreur:
NameError: name 'Car' is not defined
Si je crée une instance (objet) dans le même fichier où je l'ai créée (voiture), je n'ai aucun problème:
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)
Qui impressions:
Red
La question est donc: Comment puis-je créer un objet à partir d'une classe à partir d'un fichier différent dans le même package (dossier)?
2 réponses
Votre Mercedes.py
, vous devez importer l' car.py
fichier comme suit (aussi longtemps que les deux fichiers sont dans le même répertoire):
import car
, Alors vous pouvez faire:
Mercedes = car.Car('Mercedes', 'S Class', 'Red') #note the necessary 'car.'
Alternativement, vous pouvez faire
from car import Car
Mercedes = Car('Mercedes', 'S Class', 'Red') #no need of 'car.' anymore