在单独的文件中从类创建对象
收藏

我已经完成了一些关于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),在该文件中,我要从Car类创建对象Mercedes:

Mercedes = Car('Mercedes', 'S 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', 'S Class', 'Red')

print (Mercedes.color)

哪些打印:

Red

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

最佳答案

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

然后,您可以执行以下操作:

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

    公众号
    关注公众号订阅更多技术干货!