web-dev-qa-db-ja.com

別のファイルのクラスからオブジェクトを作成

Pythonでいくつかのチュートリアルを行っており、クラスの定義方法は知っていますが、使用方法はわかりません。たとえば、次のように作成しますfile( 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

質問は次のとおりです。同じパッケージ(フォルダー)内の異なるファイルのクラスからオブジェクトを作成するにはどうすればよいですか。

27
Trenera

Mercedes.pyで、次のようにcar.pyファイルをインポートする必要があります(2つのファイルが同じディレクトリにある場合)。

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
52
sshashank124

Mercedesファイルでimportコマンドを使用するだけです。 Python in here

0
Oren T