Create object from class in separate file

I have done several tutorials on Python and I know how to define classes, but I don't know how to use them. For example I create the following file (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'

Then I create another file (Mercedes.py), where I want to create an object Mercedes from the class Car:

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

, but I get an error:

NameError: name 'Car' is not defined

If I create an instance (object) in the same file where I created it (car), I have no problems:

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)

Which prints:

Red

So the question is: How can I create an object from a class from different file in the same package (folder)?

Answers


In your Mercedes.py, you should import the car.py file as follows (as long as the two files are in the same directory):

import car

Then you can do:

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

Alternatively, you could do

from car import Car

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

Simply use the import command in your Mercedes file. There's a good intro about importing in Python in here


Need Your Help

fizzbuzz in haskell?

haskell fizzbuzz

I'm trying to write 'fizzbuzz' in haskell using list comprehensions.

FloatingActionButton doesn't hide

android material-design android-design-library floating-action-button

I am trying to hide my FloatingActionButton fabLocation programmatically with :