ホームページ  >  記事  >  バックエンド開発  >  Pythonメソッドとは何ですか

Pythonメソッドとは何ですか

藏色散人
藏色散人オリジナル
2019-10-25 11:16:133005ブラウズ

Pythonメソッドとは何ですか

Python メソッドとは何ですか?

メソッドは、オブジェクトの動作を記述するために使用されます。

クラスで定義されるメソッドは、パブリック メソッド、プライベート メソッド、静的メソッド、クラス メソッドの 4 つのカテゴリに大別できます。

パブリック メソッドとプライベート メソッドは、通常、オブジェクトに属するインスタンス メソッドを指します。

プライベート メソッドの名前は、2 つのアンダースコア __ で始まります。

各オブジェクトには独自のパブリック メソッドとプライベート メソッドがあり、クラスおよびオブジェクトに属するメンバーにはこれら 2 種類のメソッドでアクセスできます。

パブリック メソッドは、オブジェクト名を介して直接呼び出されます。

プライベート メソッドは、オブジェクト名を介して直接呼び出すことはできません。インスタンス メソッドの self を介して、またはサポートされている特別なメソッドを外部的に介してのみ呼び出すことができます。パイソンによって。

クラスのすべてのインスタンス メソッドには、self という名前のパラメータが少なくとも 1 つ必要であり、メソッドの最初の仮パラメータである必要があります。self パラメータはオブジェクト自体を表します。

クラスのインスタンス メソッド内のインスタンス プロパティにアクセスする場合は、self という接頭辞を付ける必要がありますが、オブジェクト名を使用して外部からオブジェクト メソッドを呼び出す場合は、このパラメータを渡す必要はありません。外部のクラス名メソッドを通じてオブジェクトにアクセスするには、メソッドの self パラメータにオブジェクト名を明示的に渡して、どのオブジェクトのデータ メンバーにアクセスするかを明確に指定する必要があります。

静的メソッドとクラス メソッドは両方とも、クラス名とオブジェクト名を通じて呼び出すことができますが、オブジェクトに属するメンバーに直接アクセスすることはできず、クラスに属するメンバーのみにアクセスします。一般に、cls はクラス メソッドの最初のパラメータとして使用され、クラス自体を表します。クラス メソッドを呼び出すときにこのパラメータの値を渡す必要はありません。

推奨事項: "Python チュートリアル"

>>>class Root:
__total = 0
def __init__(self, v): #构造函数
self.__value = v
Root.__total + = 1
def show(self): #普通实例方法
print(‘self.__value:’,self.__value)
print(‘Root.__total:’,Root.__total)
@classmethod #修饰器,声明类方法
def classShowTotal(cls): #类方法
print(cls.__total)
@staticmethod #修饰器,声明静态方法
def staticShowTotal(): #静态方法
print(Root.__total)
>>>r = Root(3)
>>>r.classShowTotal() #通过对象来调用类方法
1
>>>r.staticShowTotal() #通过对象来调用静态方法
1
>>>r.show()
self.__value:3
Root.__total:1
>>>rr = Root(5)
>>>Root.classShowTotal() #通过类名调用类方法
2
>>>Root.staticShowTotal() #通过类名调用静态方法
2
>>>Root.show() #通过类名直接调用实例方法,报错

エラー報告

>>>Root.show(r) #调用方法并访问实例成员
self.__value:3
Root.__total:2
>>>r.show()
self.__value:3
Root.__total:2
>>>Root.show(rr) #通过类名调用实例方法时为 self 参数显式传递对象名
self.__value:5
Root.__total:2
>>>rr.show()
self.__value:5
Root.__total:2

注: 異なるオブジェクト インスタンスのデータ メンバーは相互に影響を与えず、相互に影響しません。共有。の。ただし、同じクラスのすべてのインスタンス メソッドは異なるオブジェクト間で共有され、すべてのオブジェクトは同じコードを実行し、どのオブジェクトのデータを処理するかを決定するために self パラメータが使用されます。

Python では、関数とメソッドには違いがあります。メソッドは通常、特定のインスタンスにバインドされた関数を指します。オブジェクトを通じてメソッドが呼び出される場合、オブジェクト自体が最初のパラメータとして渡されます。通常の関数にはこの機能がありません。

rree

以上がPythonメソッドとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。