Zrobiłem kilka tutoriali na temat Pythona i wiem, jak definiować klasy, ale nie wiem jak z nich korzystać. Na przykład utworzyć następujące plik (car.py):Utwórz obiekt z klasy w oddzielnym pliku
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'
Potem utworzyć kolejny plik (Mercedes.py), gdzie chcę, aby utworzyć obiekt Mercedes z klasy samochodów:
Mercedes = Car('Mercedes', 'S Class', 'Red')
, ale pojawia się błąd:
NameError: name 'Car' is not defined
Jeśli utworzyć instancji (obiektu) w tym samym pliku, gdzie stworzył go (cAR), nie mam żadnych problemów:
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)
która drukuje:
Red
Więc pytanie brzmi: W jaki sposób można utworzyć obiekt z klasy z innego pliku w tym samym opakowaniu (folderu)?
Czy zdajesz sobie sprawę, że 'warunek' jest atrybutem * klasy *, współużytkowanym przez wszystkie instancje? – jonrsharpe
@ jonrsharpe, Aby być oddzielnym dla każdego obiektu, powinienem zmienić jego nazwę na self.condition? – Trenera
Tak, ustaw go jako 'self.condition = 'New'' * inside *' __init__'. – jonrsharpe