一言で言えば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
ありがとう。
self
クラスメソッドの最初のパラメータとして常に配置する必要があります。クラスインスタンスを作成せずにクラスメソッドを呼び出す場合は、次のように記述する必要があります。
class Foo:
@staticmethod
def hello():
print("Hi")
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加