Tre*_*era 30 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'
Run Code Online (Sandbox Code Playgroud)
然后我创建另一个文件(Mercedes.py),我想从类Car创建一个Mercedes对象:
Mercedes = Car('Mercedes', 'S Class', 'Red')
Run Code Online (Sandbox Code Playgroud)
,但是我收到一个错误:
NameError: name 'Car' is not defined
Run Code Online (Sandbox Code Playgroud)
如果我在创建它的同一个文件(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)
Run Code Online (Sandbox Code Playgroud)
哪个印刷品:
Red
Run Code Online (Sandbox Code Playgroud)
所以问题是:如何从同一个包(文件夹)中不同文件的类创建一个对象?
ssh*_*124 54
在您的应用程序中Mercedes.py,您应该car.py按如下方式导入文件(只要这两个文件位于同一目录中):
import car
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
Mercedes = car.Car('Mercedes', 'S Class', 'Red') #note the necessary 'car.'
Run Code Online (Sandbox Code Playgroud)
或者,你可以做到
from car import Car
Mercedes = Car('Mercedes', 'S Class', 'Red') #no need of 'car.' anymore
Run Code Online (Sandbox Code Playgroud)