Создать объект из класса в отдельный файл
Я сделал несколько руководств по 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 в здесь