問題タブ [new-style-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
254825 参照

python - Pythonの古いスタイルと新しいスタイルのクラスの違いは何ですか?

Pythonの古いスタイルと新しいスタイルのクラスの違いは何ですか?いつどちらを使うべきですか?

0 投票する
4 に答える
81315 参照

python - Python の @foo.setter が機能しないのはなぜですか?

だから、私はPython 2.6でデコレータをいじっています. ここに私のクラスファイルがあります:

xこれが意味することは、プロパティのように扱うことですが、get と set でこれらの関数を呼び出します。だから、IDLEを起動してチェックしました:

getter を呼び出し、デフォルト値がなく、失敗するため、明らかに最初の呼び出しは期待どおりに機能します。わかりました。わかりました。ただし、割り当ての呼び出しt.x = 5は新しいプロパティを作成するようでx、ゲッターは機能しません!

私は何が欠けていますか?

0 投票する
3 に答える
11687 参照

python - type(obj) と obj.__class__ の違い

type(obj)とはどう違いobj.__class__ますか?の可能性はありtype(obj) is not obj.__class__ますか?

別のパラメーターと同じ型のデフォルト値 1 を使用して、提供されたオブジェクトに対して汎用的に機能する関数を作成したいと考えています。以下の #1 と #2 のどちらのバリエーションが正しいことをするでしょうか?

0 投票する
2 に答える
1175 参照

python - Pythonオブジェクト@property

「coordinate」というプロパティを定義するポイントクラスを作成しようとしています。しかし、それは私が期待するように動作しておらず、その理由を理解することはできません。

セッターがこれらの値を「設定する必要がある」にもかかわらず、pxとpyが何らかの理由で設定されていないようです。なぜこれなのか誰か知っていますか?

0 投票する
1 に答える
2882 参照

python - __init__からプロパティセッターを呼び出すにはどうすればよいですか

私は次のPythonコードのチャンクを持っています:

これにより、理論的にはパスワードのSHA1が出力されますが、コンストラクターからself.passwordを設定すると、定義されたプロパティが無視され、値が「password1」に設定されます。次に、「password1」の値がprintステートメントによって読み取られます。

これは、インスタンスではなくクラスで定義されているパスワードに起因することはわかっていますが、正しく表現する方法がわからないため、機能します。どんな助けでもいただければ幸いです。

0 投票する
3 に答える
2194 参照

python - 特別な属性なしでクラス オブジェクト __dict__ を取得する

定義されたすべてのクラス属性を取得するために、私は一緒に行こうとしています

しかし、それは私に特別な属性も与えます. 自己定義された属性のみを取得する方法はありますか、それとも辞書を自分で「きれいにする」必要がありますか?

0 投票する
3 に答える
477 参照

python - Pythonのurllib2.Requestでsuper()を機能させる

今日の午後、へのカスタム拡張機能のバグを見つけるために数時間を費やしましたurllib2.Request。問題は、私が知ったように、super(ExtendedRequest, self)urllib2.Request私はPython 2.5を使用しています)まだ古いスタイルのクラスであり、使用super()できないため、の使用法でした。

両方の機能を備えた新しいクラスを作成する最も明白な方法は、

動作しません。それを呼んで、私はAttributeError: typeによって育てられたままになっていurllib2.Request.__getattr__()ます。さて、開始してコピーする前に、urllib2.Requestクラス全体を/ usr / lib / pythonから貼り付けて、次のように書き直します。

誰かがアイデアを持っています、どうすればこれをよりエレガントな方法で達成できますか?(これ、の作業サポートに基づいた新しいスタイルのクラスを持つことです。)urllib2.Requestsuper()

編集:ちなみに:言及されたAttributeError:

0 投票する
2 に答える
11137 参照

python - 親クラスで派生クラスのメソッドを使用するPython?

親クラスに派生クラスのバージョンの関数を呼び出すように強制できますか?

そしてそれから派生するクラス

あいまいさを解消する:

0 投票する
6 に答える
17671 参照

python - Pythonでクラス「オブジェクト」をサブクラス化する目的は何ですか?

すべての Python ビルトインは のサブクラスでobjectあり、多くのユーザー定義クラスも同様です。なんで?クラスの目的は何objectですか?ただの空のクラスですよね?

0 投票する
3 に答える
4890 参照

python - Python: __init__ の代わりに常に __new__ を使用しますか?

__init__との両方がどのように機能するかを理解して__new__います。__init__できること、できないことがあるのだろ__new__うか?

つまり__init__、次のパターンに置き換えることができます。

Python OO のこの側面を私の頭の中でよりよく適合させたいので、私は尋ねています。