Python 从单独文件中的类创建对象
我已经做了一些关于Python的教程,我知道如何定义类,但我不知道如何使用它们。例如,我创建了以下文件(car.py): 然后我创建了另一个文件(Mercedes.py),我想在其中从类Car创建一个对象Mercedes: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
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')