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

时间:2014-04-23 08:03:01

标签: python class object package

我已经完成了几个关于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

如果我在创建它的同一个文件(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

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

3 个答案:

答案 0 :(得分:50)

Mercedes.py中,您应该按如下方式导入car.py文件(只要这两个文件位于同一目录中):

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

答案 1 :(得分:0)

只需在Mercedes文件中使用import命令即可。 关于在here

中导入Python的介绍很好

答案 2 :(得分:0)

Mercedes.py:

from car import Car

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

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