Создать объект из класса в отдельный файл

Я сделал несколько руководств по Python, и я знаю, как определять классы, но я не знаю, как их использовать. Например, я создаю следующий файл (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'

Затем я создаю еще один файл (Mercedes.py), где я хочу создать объект Mercedes из класса Car:

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

но я получаю сообщение об ошибке:

NameError: name 'Car' is not defined

Если я создаю экземпляр (объект) в том же файле, где я его создал (автомобиль), у меня нет проблем:

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',  Class', 'Red')

print (Mercedes.color)

Какие принты:

Red

Итак, вопрос: как я могу создать объект из класса из другого файла в том же пакете (папке)?

Ответы

Ответ 1

В Mercedes.py вы должны импортировать файл car.py следующим образом (если два файла находятся в одном каталоге):

import car

Затем вы можете сделать:

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

В качестве альтернативы вы можете сделать

from car import Car

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

Ответ 2

Просто используйте команду импорта в файле Mercedes. Там хорошее введение об импорте в Python в здесь