web-dev-qa-db-ja.com

Pythonで関数を「呼び出す」とはどういう意味ですか?

「呼び出し」とはどういう意味ですか? Pythonで関数をどのように「呼び出す」でしょうか?

10
user2837438

関数を「呼び出す」とき、基本的にはプログラムにその関数を実行するよう指示するだけです。したがって、次のような2つの数値を追加する関数がある場合:

def add(a,b):
    return a + b

次のような関数を呼び出します。

add(3,5)

この場合、8を返します。この場合、括弧内に任意の2つの数値を入れることができます。次のような関数を呼び出すこともできます。

answer = add(4,7)

この場合、変数answerは11に設定されます。

19
Joel Green

少し高度な答えをします。 Pythonでは、関数は ファーストクラスオブジェクト です。これは、「動的に作成、破棄、関数に渡され、値として返され、プログラミング言語の他の変数が持つようにすべての権限を持つ」ことができることを意味します。

Pythonで関数/クラスインスタンスを呼び出すことは、そのオブジェクトの___call___メソッドを呼び出すことを意味します。古いスタイルのクラスの場合、クラスインスタンスも呼び出すことができます。 ___call___メソッド:新しいスタイルのクラスにも「インスタンス」という概念がないことを除いて、同じことが新しいスタイルのクラスに適用されます。

Python 2 Data Modelページ から引用したように、関数オブジェクト、クラスインスタンス(古いスタイルクラス)、およびクラスオブジェクト(新しいスタイルクラス)の場合、「x(arg1, arg2, ...)は略記x.__call__(arg1, arg2, ...) "の場合。

したがって、def funcname(parameters):という短縮形で関数を定義するときは、実際にメソッド___call___でオブジェクトを作成しているだけで、___call___の短縮形はインスタンスに名前を付けてそれに従うだけです。呼び出しへの引数を含む括弧。関数はPythonのファーストクラスオブジェクトであるため、動的パラメーターを使用して動的に作成できます(したがって、動的引数を受け入れます)。これは、後で説明するデコレーター関数/クラスで役立ちます。

今のところ Official Python Tutorial を読むことをお勧めします。

12
Shashank

「呼び出す」とは、コード内で他の場所に記述されている関数を参照することを意味します。この関数の「呼び出し」は、標準のPythonライブラリ(Pythonにインストールされているもの))、サードパーティのライブラリ(他の人が使用したいと書いたもの)、または独自のコード(作成したもの)例:

#!/usr/env python

import os

def foo():
    return "hello world"

print os.getlogin()
print foo()

「foo」と呼ばれる関数を作成し、後でそのprintステートメントでcalledを作成しました。標準の "os"をインポートしましたPython library then I calledそのライブラリ内の "getlogin"関数。

2
queso

関数を呼び出すと、関数を「呼び出す」と呼ばれます。たとえば、次のような2つの数値の平均を求める関数を定義したとします。

def avgg(a,b) :
        return (a+b)/2;

さて、関数を呼び出すには、次のようにします。

x=avgg(4,6)
print x

xの値は5になります。

0