クラスのメソッドには、インスタンスを参照するパラメーターが少なくとも1つ必要ですか?

user3284469

一言で言えばPythonはそれを言います:

クラス本体で定義されたメソッドには、メソッドを呼び出すインスタンスを参照する、従来はselfという名前の必須の最初のパラメーターがあります。

クラスのメソッドには、インスタンスを参照するパラメーターが少なくとも1つ必要ですか?

パラメータなしでメソッドを作成するのは悪い習慣ですか?

クラスまたはクラスのインスタンスのいずれかでメソッドを呼び出すときは、常にメソッドを機能させることをお勧めしますか?

静的メソッドやクラスメソッドではなく、通常のメソッドについて話していることに注意してください。

>>> class C5(object):
...     def hello():
...         print('Hello')
... 
>>> C5.hello()
Hello
>>> C5().hello()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: hello() takes 0 positional arguments but 1 was given

ありがとう。

amarynets

selfクラスメソッドの最初のパラメータとして常に配置する必要があります。クラスインスタンスを作成せずにクラスメソッドを呼び出す場合は、次のように記述する必要があります。

class Foo:
    @staticmethod
    def hello():
        print("Hi")

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#インデクサーには少なくとも1つのパラメーターが必要です

分類Dev

varargsメソッドが少なくとも1つのパラメーターを必要とすることを保証する最もクリーンな方法は何ですか?

分類Dev

varargsメソッドが少なくとも1つのパラメーターを必要とすることを保証する最もクリーンな方法は何ですか?

分類Dev

抽象クラスには少なくとも1つの抽象メソッドが必要ですか?

分類Dev

ValueErrorの取得:drop()メソッドの「columns」パラメーターとしてラベルのリストを渡す際に、「labels」、「index」、または「columns」の少なくとも1つを指定する必要があります

分類Dev

DisplayForメソッドはMSDNに従って少なくとも2つのパラメーターを必要としますが、1つのパラメーターでのみ機能するようです

分類Dev

少なくとも1つのリソースメンバーを定義する必要があります...クラウド形成のエラーec2

分類Dev

インターフェースではなくクラスでメソッドを定義する必要があるのはなぜですか?

分類Dev

多くのメソッドでインターフェースを実装する=巨大なクラス。パターンが助けになりますか?

分類Dev

インターフェイスとクラスの違いは何ですか?また、クラスにメソッドを直接実装できるのに、なぜインターフェイスを使用する必要があるのですか?

分類Dev

C#-クラスにメソッドを追加すると、各インスタンスはより多くのスペースを必要としますか?

分類Dev

Javaパターンクラスがコンストラクタではなくファクトリメソッドを使用するのはなぜですか?

分類Dev

C ++演算子のオーバーロードで、「クラス型のパラメーターが少なくとも1つある」必要があるのはなぜですか。

分類Dev

toString()メソッドがインスタンスフィールドとともにスーパークラスのプライベートフィールドを返すようにするにはどうすればよいですか?

分類Dev

インターフェイスをよりアクセスしやすくするために、一般的なインターフェイスメソッドパラメータを入力することの長所と短所は何ですか?

分類Dev

(少なくとも1つのクリエーターが存在しますが):文字列値から逆シリアル化する文字列引数コンストラクター/ファクトリメソッドがありません( '12')

分類Dev

symfonyエラー:RuntimeException構成には少なくとも1つのドメインが必要です

分類Dev

コンパイラが無関係なインターフェイスタイプで呼び出されたときに、クラスタイプパラメータを持つこのジェネリックメソッドを選択するのはなぜですか?

分類Dev

MIPSスタックポインタをダブルワードアラインメントに保つ必要があるのはなぜですか?

分類Dev

インスタンスメソッドが静的コンテキストで使用されている場合、javacが「エラー:クラスのメソッドを特定のタイプに適用できない」と出力するのはなぜですか?

分類Dev

コンストラクターパラメーターではなくメソッドパラメーターとして依存性を注入する

分類Dev

他のクラスの多くのメソッドにアクセスするために必要なコンストラクターは何ですか?

分類Dev

インスタンスでメソッドを呼び出すときにクラスのインポートが不要なのはなぜですか(Java)

分類Dev

`クラスNAME`のインスタンスを作成することはできません(少なくともクリエーターに存在するが)

分類Dev

javascript handleEventメソッドがイベントパラメータを省略してイベントにアクセスできるのはなぜですか?

分類Dev

インターフェイスのディクショナリをメソッドパラメータとして使用しようとすると、コンパイラが派生クラスからそのインターフェイスに変換できないのはなぜですか?

分類Dev

春の実装Beanは、インターフェースよりも多くのパブリックメソッドを持つことができますか?

分類Dev

ランチャーで「クラスターには少なくとも1つのetcdプレーンホストが必要です:次のetcdホスト[10.xxx.xxx.36]への接続に失敗しました」を修正する方法は?

分類Dev

xcodebuild:エラー:オプション 'Destination'には、 'key = value'の形式のパラメーターが少なくとも1つ必要です

Related 関連記事

  1. 1

    C#インデクサーには少なくとも1つのパラメーターが必要です

  2. 2

    varargsメソッドが少なくとも1つのパラメーターを必要とすることを保証する最もクリーンな方法は何ですか?

  3. 3

    varargsメソッドが少なくとも1つのパラメーターを必要とすることを保証する最もクリーンな方法は何ですか?

  4. 4

    抽象クラスには少なくとも1つの抽象メソッドが必要ですか?

  5. 5

    ValueErrorの取得:drop()メソッドの「columns」パラメーターとしてラベルのリストを渡す際に、「labels」、「index」、または「columns」の少なくとも1つを指定する必要があります

  6. 6

    DisplayForメソッドはMSDNに従って少なくとも2つのパラメーターを必要としますが、1つのパラメーターでのみ機能するようです

  7. 7

    少なくとも1つのリソースメンバーを定義する必要があります...クラウド形成のエラーec2

  8. 8

    インターフェースではなくクラスでメソッドを定義する必要があるのはなぜですか?

  9. 9

    多くのメソッドでインターフェースを実装する=巨大なクラス。パターンが助けになりますか?

  10. 10

    インターフェイスとクラスの違いは何ですか?また、クラスにメソッドを直接実装できるのに、なぜインターフェイスを使用する必要があるのですか?

  11. 11

    C#-クラスにメソッドを追加すると、各インスタンスはより多くのスペースを必要としますか?

  12. 12

    Javaパターンクラスがコンストラクタではなくファクトリメソッドを使用するのはなぜですか?

  13. 13

    C ++演算子のオーバーロードで、「クラス型のパラメーターが少なくとも1つある」必要があるのはなぜですか。

  14. 14

    toString()メソッドがインスタンスフィールドとともにスーパークラスのプライベートフィールドを返すようにするにはどうすればよいですか?

  15. 15

    インターフェイスをよりアクセスしやすくするために、一般的なインターフェイスメソッドパラメータを入力することの長所と短所は何ですか?

  16. 16

    (少なくとも1つのクリエーターが存在しますが):文字列値から逆シリアル化する文字列引数コンストラクター/ファクトリメソッドがありません( '12')

  17. 17

    symfonyエラー:RuntimeException構成には少なくとも1つのドメインが必要です

  18. 18

    コンパイラが無関係なインターフェイスタイプで呼び出されたときに、クラスタイプパラメータを持つこのジェネリックメソッドを選択するのはなぜですか?

  19. 19

    MIPSスタックポインタをダブルワードアラインメントに保つ必要があるのはなぜですか?

  20. 20

    インスタンスメソッドが静的コンテキストで使用されている場合、javacが「エラー:クラスのメソッドを特定のタイプに適用できない」と出力するのはなぜですか?

  21. 21

    コンストラクターパラメーターではなくメソッドパラメーターとして依存性を注入する

  22. 22

    他のクラスの多くのメソッドにアクセスするために必要なコンストラクターは何ですか?

  23. 23

    インスタンスでメソッドを呼び出すときにクラスのインポートが不要なのはなぜですか(Java)

  24. 24

    `クラスNAME`のインスタンスを作成することはできません(少なくともクリエーターに存在するが)

  25. 25

    javascript handleEventメソッドがイベントパラメータを省略してイベントにアクセスできるのはなぜですか?

  26. 26

    インターフェイスのディクショナリをメソッドパラメータとして使用しようとすると、コンパイラが派生クラスからそのインターフェイスに変換できないのはなぜですか?

  27. 27

    春の実装Beanは、インターフェースよりも多くのパブリックメソッドを持つことができますか?

  28. 28

    ランチャーで「クラスターには少なくとも1つのetcdプレーンホストが必要です:次のetcdホスト[10.xxx.xxx.36]への接続に失敗しました」を修正する方法は?

  29. 29

    xcodebuild:エラー:オプション 'Destination'には、 'key = value'の形式のパラメーターが少なくとも1つ必要です

ホットタグ

アーカイブ