Créer un objet de la classe dans un fichier distinct
J'ai fait plusieurs tutoriels sur le langage Python et je sais comment le définir des classes, mais je ne sais pas comment les utiliser. Par exemple, j'ai créer le fichier (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'
Puis-je créer un autre fichier (Mercedes.py), où je veux créer un objet Mercedes de la classe Voiture:
Mercedes = Car('Mercedes', 'S Class', 'Red')
mais j'obtiens 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éé (en voiture), je n'ai pas de problèmes:
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 imprime:
Red
La question est donc: Comment puis-je créer un objet à partir d'une classe à partir de fichiers différents dans le même package (dossier)?
- Réalisez-vous que
condition
est un attribut de classe, partagée par toutes les instances? - afin d'être séparées pour chaque objet, je le renomme en soi.condition?
- Oui, comme
self.condition = 'New'
à l'intérieur de__init__
.
Vous devez vous connecter pour publier un commentaire.
Dans votre
Mercedes.py
, vous devez importer lecar.py
fichier comme suit (aussi longtemps que les deux fichiers sont dans le même répertoire):Alors vous pouvez faire:
Alternativement, vous pourriez faire
Simplement utiliser la commande importer dans votre Mercedes fichier.
Il y a une bonne intro sur l'importation en Python dans ici