オブジェクトインスタンス変数をクラス変数として定義できるパターンの名前は何ですか?python宣言属性パターンの呼び出し方法
通常、pythonオブジェクトの属性は__init__
メソッドで定義されています。いくつかのライブラリは対象外__init__
属性を定義することができます:
# django models
class User(Model):
name = fields.StringField()
lastname = fields.StringField()
# django forms
class LoginForm(Form)
username = fields.StringField()
password = fields.PasswordField()
# elasticsearch_dsl
class Post(DocType):
title = Text()
created_at = Date()
published = Boolean()
このパターンの名前は何ですか?
これは私が求めているものではありません。通常、属性は '__init__'で宣言されていますが、このアプローチには名前がありますか? – aisbaa
属性は__init__に設定されていますが、実際には定義されていません... ORMクラスモデル定義...クラス(y)DSL ...宣言的なクラスレベルのモデリング?いくつかのマニュアルでは、「SQLAlchemyやDjangoのような他の一般的なORMで見られる宣言的スタイル」と呼ばれています。おそらくORMを削除するフォームが追加された – Serge
がhttp://docs.peewee-orm.com/en/latest/peewee/models.htmlにあります。それでもなお、すべての例は、いくつかのモデル変換宣言型APIです。私はそのパターン(スーパークラス+宣言属性からのコンストラクタ/イニシャライザ以外のパターン)は、APIやモデル変換以外ではめったに必要ないと確信しています。今すぐ宣言APIクラス/宣言クラス属性。このフレーズマイグレーションは、あるクラスが他のクラス属性またはオブジェクト属性を宣言するために使用される場合もカバーする。いくつかの動的なORMSをブラウズすることができます。これらのORMSは、ニーズに合った専門用語でいっぱいです。 – Serge