クラス/ __init__
属性のリストを1つのオブジェクトなしで取得する関数はありますか?クラス属性の名前を関数に渡す必要があります。私は何時間も解決策を探そうとしましたが、ほとんどの場合、x = ClassName()
のようなsthを使用する必要があります。私の場合はエラーが発生します(例えば、__init__()
は6つの引数をとります)。たとえば :インスタンス属性のリストを取得する方法
list_of_attr = ['name', 'year', 'color']
それも可能です:
class Car:
def __init__(self, name, year, color):
self.name = name
self.year = year
self.color = color
は、どのように私のようなリストが入手できますか?
編集: 私の質問にいくつかのコンテキストを追加する - テキストファイルからデータを取得し、オブジェクトのリストに変換する関数を作成しようとしています。ファイルの各行には、1つのオブジェクトのデータが含まれています。 'Volvo、1995、blue'。 私は今2つのクラスと2つのファイルを持っていますが(もっと期待しています)、私は既に実用的なソリューションを作っていますが、今はオブジェクト/インスタンス属性の名前を関数にあらかじめ記述されたリストで渡す必要があります。クラス名だけに基づいて自動的に実行されるようにします。
この
を見て "それも可能ですか?"これらはインスタンス属性であり、クラス属性ではないためです。 – DeepSpace
これらは* class *の属性ではなく、* instance *です。あなたが解決しようとしている実際の問題は何ですか? – jonrsharpe
ところで、Python 2では、クラスは明示的に 'object'から継承する必要があります。、 'class Car(object):'そうでなければ古いスタイルのクラスを取得します。 Python 3では、すべてのクラスが新しいスタイルですが、その構文を使用することができます。これは、両方のバージョンで動作するコードを作成する場合に便利です。 –