0

重複の可能性:
Python メソッドに「self」引数を明示的に指定する必要があるのはなぜですか?

この自己パラメーターを追加する必要があるのはなぜですか

    def function(self):
4

2 に答える 2

1

クラス内でメソッドを定義すると、オブジェクト インスタンスを最初のパラメーターとして渡す記述子が自動的に作成されるためです。これを回避したい場合は、 @staticmethod デコレーターを使用するか、クラスの外で関数を定義してください。

言語がこのように設計されている理由については、変数を明示的に作成しない言語でそれを行うのは意味がありません。a=2 を実行した場合、それがローカル変数かインスタンス変数かをどのように判断しますか? また、明示的に渡すことは、一般的によりエレガントなデザインです。

于 2012-08-11T14:26:26.753 に答える
0

明示的は暗黙的よりも優れています。

于 2012-08-11T14:25:41.673 に答える