Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのclassmethod()


クラスメソッドは、最初の引数としてクラス自体を受け取ります。このようにして、最初にクラスからインスタンスを作成しなくても、クラス内でメソッドを呼び出すことができます。クラスに含まれるメソッドを宣言する前にデコレータ@classmethodを使用するだけで、メソッドに直接アクセスできます。以下はclassmethidsの主な機能です。

  • classmethodはクラスにバインドされており、使用するクラスのインスタンス化に依存しません。

  • classmethodはクラスを変更でき、クラスはクラスのすべてのインスタンスに伝播します。

クラスメソッドの使用

次の例では、WeekDayというクラスを作成し、その中にdaynamesというメソッドを作成します。次に、最初にクラスをインスタンス化せずに、つまりクラスからオブジェクトを作成せずに、このメソッドにアクセスします。

class WeekDay:
   day_name = ['Mon','Tue','Wed','Thu','Fri']
# Applying the class method
   @classmethod
   def daynames(n):
      print('The WeekDays are', n.day_name)

WeekDay.daynames()
# OR
WeekDay().daynames()

出力

上記のコードを実行すると、次の結果が得られます-

The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

クラスメソッドを使用せずに

クラスメソッドなしで同じ結果を達成するために、クラスなしでメソッドを宣言できます。これは、クラスメソッドが必要な理由を示しています。

def daynames():
   day_name = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
   print('The WeekDays are', day_name)

daynames()

出力

上記のコードを実行すると、次の結果が得られます-

The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

  1. PythonTkinterのメソッドの後

    TkinterはGUIを作成するためのPythonライブラリです。 GUIウィンドウやその他のウィジェットを作成および操作してデータやGUIイベントを表示するための多くの組み込みメソッドがあります。この記事では、afterメソッドがTkinterGUIでどのように使用されるかを見ていきます。 構文 .after(delay, FuncName=FuncName) This method calls the function FuncName after the given delay in milisecond ウィジェットの表示 ここでは、単語のリストをランダムに表示するフレームを作成しま

  2. Pythonでの継承

    この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen