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), dans lequel je veux créer un objet Mercedes 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 que celui où je l'ai créé (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)
Quelles 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)?
Dans votre Mercedes.py
, vous devez importer le fichier car.py
comme suit (tant que les deux fichiers sont dans le répertoire same):
import car
Ensuite, vous pouvez faire:
Mercedes = car.Car('Mercedes', 'S Class', 'Red') #note the necessary 'car.'
Alternativement, vous pourriez faire
from car import Car
Mercedes = Car('Mercedes', 'S Class', 'Red') #no need of 'car.' anymore
Utilisez simplement la commande d'importation dans votre fichier Mercedes. Il y a une bonne introduction sur l'importation en Python dans ici