2016-09-07 7 views
0

私は助けが必要です。私はPyCharmを使ってコードを作成し、未解決の参照 'モデル'を表示し続けます。パラメータ 'model'の値は使用されず、ゲッター署名は(self)にする必要があります。どうすればこれを回避できますか?getとsetのプロパティに何が問題になりましたか?

class ProductObject: 
    def __init__(self, product, brand, car, model, year): 
     self.product = product 
     self.brand = brand 
     self.car = car 
     self.model = model 
     self.year = year 

    def set_product(self, product): 
     self.product = product.capitalize() 

    def get_product(self): 
     return self.product 
    product = property(get_product, set_product) 

    def set_brand(self, brand): 
     self.brand = brand.title() 

    def get_brand(self): 
     return self.brand 
    brand = property(get_brand, set_brand) 

    def set_car(self, car): 
     self.car = car.title() 

    def get_car(self): 
     return self.car 
    car = property(get_car, set_car) 

    def set_model(self): 
     self.model = model.title() 

    def get_model(self, model): 
     return self.model 
    model = property(get_model, set_model) 

    def set_year(self): 
     self.year = year.int() 

    def get_year(self, year): 
     return self.year 
    year = property(get_year, set_year) 
+0

'getter'は' self'を期待し、setterは 'self'とは別の引数を期待しています。今度はあなたの 'get_model'と' set_model'を見てください。 –

答えて

0

メソッドの変更パラメータが必要です。取得方法は自己のみであり、設定方法は自己モデルが必要です。あなたのクラスから継承

def set_model(self, model): 
    self.model = model.title() 

def get_model(self): 
    return self.model 

EDIT

class YourSubclass(ProductObject): 
    #code of your subclass which inherit from ProductObject class 

モジュール: あなたはモジュールを作成したい場合は、このModule structure をチェックする必要がありますが、それはinit.pyファイルを持つクラス以外の何ものでもありません。その後、通常のインポート文でクラスをインポートできます。 init.pyファイルについての別のリンクがあります:Init.py structure

+0

ああ、ありがとう。私は高く評価しました –

+0

最後に、pycharmを使用していて、このクラスから継承する別のサブクラスを作成したいのですが、どのようにしてモジュールとしてインポートできるクラスにすることができますか? –

+0

ありがとう、それはうまく動作します –

関連する問題