問題タブ [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.
python - Pythonの古いスタイルと新しいスタイルのクラスの違いは何ですか?
Pythonの古いスタイルと新しいスタイルのクラスの違いは何ですか?いつどちらを使うべきですか?
python - Python の @foo.setter が機能しないのはなぜですか?
だから、私はPython 2.6でデコレータをいじっています. ここに私のクラスファイルがあります:
x
これが意味することは、プロパティのように扱うことですが、get と set でこれらの関数を呼び出します。だから、IDLEを起動してチェックしました:
getter を呼び出し、デフォルト値がなく、失敗するため、明らかに最初の呼び出しは期待どおりに機能します。わかりました。わかりました。ただし、割り当ての呼び出しt.x = 5
は新しいプロパティを作成するようでx
、ゲッターは機能しません!
私は何が欠けていますか?
python - type(obj) と obj.__class__ の違い
type(obj)
とはどう違いobj.__class__
ますか?の可能性はありtype(obj) is not obj.__class__
ますか?
別のパラメーターと同じ型のデフォルト値 1 を使用して、提供されたオブジェクトに対して汎用的に機能する関数を作成したいと考えています。以下の #1 と #2 のどちらのバリエーションが正しいことをするでしょうか?
python - Pythonオブジェクト@property
「coordinate」というプロパティを定義するポイントクラスを作成しようとしています。しかし、それは私が期待するように動作しておらず、その理由を理解することはできません。
セッターがこれらの値を「設定する必要がある」にもかかわらず、pxとpyが何らかの理由で設定されていないようです。なぜこれなのか誰か知っていますか?
python - __init__からプロパティセッターを呼び出すにはどうすればよいですか
私は次のPythonコードのチャンクを持っています:
これにより、理論的にはパスワードのSHA1が出力されますが、コンストラクターからself.passwordを設定すると、定義されたプロパティが無視され、値が「password1」に設定されます。次に、「password1」の値がprintステートメントによって読み取られます。
これは、インスタンスではなくクラスで定義されているパスワードに起因することはわかっていますが、正しく表現する方法がわからないため、機能します。どんな助けでもいただければ幸いです。
python - 特別な属性なしでクラス オブジェクト __dict__ を取得する
定義されたすべてのクラス属性を取得するために、私は一緒に行こうとしています
しかし、それは私に特別な属性も与えます. 自己定義された属性のみを取得する方法はありますか、それとも辞書を自分で「きれいにする」必要がありますか?
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.Request
super()
編集:ちなみに:言及されたAttributeError:
python - 親クラスで派生クラスのメソッドを使用するPython?
親クラスに派生クラスのバージョンの関数を呼び出すように強制できますか?
そしてそれから派生するクラス
あいまいさを解消する:
python - Pythonでクラス「オブジェクト」をサブクラス化する目的は何ですか?
すべての Python ビルトインは のサブクラスでobject
あり、多くのユーザー定義クラスも同様です。なんで?クラスの目的は何object
ですか?ただの空のクラスですよね?
python - Python: __init__ の代わりに常に __new__ を使用しますか?
__init__
との両方がどのように機能するかを理解して__new__
います。__init__
できること、できないことがあるのだろ__new__
うか?
つまり__init__
、次のパターンに置き換えることができます。
Python OO のこの側面を私の頭の中でよりよく適合させたいので、私は尋ねています。