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

Pythonのメソッドと関数の違い


機能

関数は、特定のタスクを実行するためのコードのブロックであり、独自のスコープを含み、名前で呼び出されます。すべての関数には、ゼロ(no)引数または複数の引数を含めることができます。終了時に、関数は1つ以上の値を返すことができる場合とできない場合があります。

基本的な関数構文

def functionName( arg1, arg2,….):
   …….
   # Function_body
   ……..

独自の(ユーザー)、sum(ユーザーは任意の名前を付けることができます)と呼ばれる非常に単純な関数を作成しましょう。」関数「sum」には、num1とnum2という2つの引数があり、関数(sum)に渡された引数の合計を返します。値(引数)5と6を使用して関数(sum)を呼び出すと、11が返されます。

def sum(num1, num2):
   return (num1 + num2)

出力

>>> sum(5,6)
11

したがって、上記から、「return」ステートメントがPython関数から値を返すことがわかります。

この関数を使用すると、コードの再利用性を実装できます。機能は3種類あります-

  • 組み込み関数(名前が示すように、これらの関数にはPython言語が付属しています。たとえば、help()はヘルプを要求し、max()-は最大値を取得し、type()-はオブジェクトの型を返します。その他多数。)

  • ユーザー定義関数(上記で作成した「合計」関数のように、ユーザーがユーザーを支援するために作成する関数です)。

  • 匿名関数(ラムダ関数とも呼ばれ、 def を使用して定義される通常の関数とは異なります) キーワードはラムダを使用して定義されます キーワード)。

メソッド

Pythonのメソッドは、オブジェクト/クラスに関連付けられていることを除けば、関数にいくぶん似ています。 Pythonのメソッドは、2つの大きな違いを除いて、関数と非常によく似ています。

  • このメソッドは、呼び出されるオブジェクトに対して暗黙的に使用されます。

  • このメソッドは、クラス内に含まれているデータにアクセスできます。

一般的なメソッド構文

class ClassName:
   def method_name():
      …………..
      # Method_body
      ………………

1つの簡単なコードでメソッドを理解しましょう-

class Pet(object):
   def my_method(self):
      print("I am a Cat")
cat = Pet()
cat.my_method()

出力

I am a Cat

上記のコードでは、最初にクラス「Pet」を定義しました。次に、この青写真からオブジェクト「猫」を作成しました。次に、オブジェクト(つまりcat)を使用してmy_methodというカスタムメソッドを呼び出します。

Pythonのメソッドと関数の主な違い

関数とメソッドの両方の基本的な理解が得られたら、それらの主な違いを強調しましょう-

  • 関数とは異なり、メソッドはオブジェクトに対して呼び出されます。上記の例のように、メソッドを呼び出します。オブジェクト「cat」の「my_method」に対して、関数「sum」はオブジェクトなしで呼び出されます。また、メソッドはオブジェクトで呼び出されるため、オブジェクト内のそのデータにアクセスできます。

  • オブジェクトの状態を変更できるメソッドとは異なり、Python関数はこれを行わず、通常はオブジェクトを操作します。

要するに、メソッドはオブジェクトに属する関数です。


  1. Pythonのgetattr()関数とsetattr()関数の違いは何ですか?

    getattr()メソッド getattr()メソッドは、オブジェクトの名前付き属性の値を返します。見つからない場合は、関数に提供されたデフォルト値を返します。 構文 getattr()メソッドの構文は次のとおりです- getattr(object, name[, default]) getattr()メソッドは複数のパラメーターを取ることができます- getattr()メソッドは-を返します 指定されたオブジェクトの名前付き属性の値 デフォルト、名前付き属性が見つからない場合 名前付き属性が見つからず、デフォルトが定義されていない場合のAttributeError例外 set

  2. JavaScriptとPythonのセミコロンの違いは何ですか?

    Pythonではセミコロンはオプションです。 JavaScriptでは、これもオプションですが、追加することをお勧めします。一部のステートメントの場合は、これが必要になることがあります。これらのステートメントでセミコロンが挿入されていない場合は、セミコロンが自動的に追加されますが、コードの目的が変わる可能性があります。これは自動セミコロン挿入と呼ばれます。 方法を見てみましょう- 以下はセミコロンなしのコードです: function sub (p, q) {    return    p + q } 上記は実際には次のように見なされます- functi