Python 从单独文件中的类创建对象

Python 从单独文件中的类创建对象,python,class,object,package,Python,Class,Object,Package,我已经做了一些关于Python的教程,我知道如何定义类,但我不知道如何使用它们。例如,我创建了以下文件(car.py): 然后我创建了另一个文件(Mercedes.py),我想在其中从类Car创建一个对象Mercedes: Mercedes = Car('Mercedes', 'S Class', 'Red') ,但我得到一个错误: NameError: name 'Car' is not defined 如果我在创建实例(对象)的同一文件(car)中创建实例(对象),则没有问题: clas

我已经做了一些关于Python的教程,我知道如何定义类,但我不知道如何使用它们。例如,我创建了以下文件(car.py):

然后我创建了另一个文件(Mercedes.py),我想在其中从类Car创建一个对象Mercedes:

Mercedes = Car('Mercedes', 'S Class', 'Red')
,但我得到一个错误:

NameError: name 'Car' is not defined
如果我在创建实例(对象)的同一文件(car)中创建实例(对象),则没有问题:

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)
其中打印:

Red

因此,问题是:如何从同一个包(文件夹)中不同文件的类创建对象?

在您的
Mercedes.py
中,您应该导入
car.py
文件,如下所示(只要两个文件位于同一目录中):

然后你可以做:

Mercedes = car.Car('Mercedes', 'S Class', 'Red')  #note the necessary 'car.'
或者,你也可以这样做

from car import Car

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

只需在Mercedes文件中使用import命令即可。 在Mercedes.py中有一个关于用Python导入的好介绍:

from car import Car
这将从Car.py导入Car类 要使用它:

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

谢谢,我会在10分钟内接受答案@ViharChervenkov,谢谢。很高兴我能帮忙。如果它们不在同一个目录下呢?谢谢您是否意识到,
condition
是一个类属性,由所有实例共享?@jornsharpe,为了使每个对象独立,我应该将其重命名为self.condition?是的,将其设置为
self.condition='New'
内部
\uuuuu init\uu
from car import Car
Mercedes=Car('Mercedes', 'S Class', 'Red')