『Pythonの呼び出し可能オブジェクト:基礎と秘密』

『Pythonの呼び出し可能オブジェクト:基礎と秘密』の魅力を最大限に引き出す方法

PYTHON PROGRAMMING(Pythonプログラミング)

Pythonの呼び出し可能オブジェクトの強力さを学びましょう。

In Python, there are many callables to choose from. Photo by Pavan Trikutam on Unsplash

プログラミング言語では、呼び出し可能オブジェクトは通常、関数と関連付けられます。関数はおそらく呼び出し可能オブジェクトの最良の例ですが、それだけではありません。Pythonには非常に有用で強力な他の呼び出し可能なタイプも多数存在します。また、独自の呼び出し可能オブジェクトを作成することもできます。この記事では、その両方について紹介します。

呼び出し可能オブジェクトは、括弧を使って呼び出すことができるオブジェクトです。以下の例のように、組み込み関数sum()を使用しています。

>>> sum(1, 1, 1)3

呼び出し可能オブジェクトへの呼び出しは、定義によって次のようになります:

  • 引数なし: no_args_callable()のように
  • または、位置引数と/またはキーワード引数のシリーズ: args_callable(arg1, arg2)args_callable(arg1, arg2=value2)、またはargs_callable(arg1=value1, arg2=value2)のように

上述のように、呼び出し可能オブジェクトを名詞として説明しました。ただし、呼び出し可能という言葉は、形容詞としても使用され、呼び出し可能であるという意味になります。したがって、呼び出し可能と呼び出し可能オブジェクトは同じです。

Pythonには、オブジェクトが呼び出し可能かどうか、つまり呼び出し可能かどうかを確認するための組み込み関数callable()があります。以下は実際の呼び出し可能な例です:

>>> callable(lambda x: x + 1)True>>> callable(print)True>>> def foo(): ...>>> callable(foo)True

次のオブジェクトは呼び出し可能ではありません:

>>> callable(None)False>>> callable(10)False>>> callable("hello")False

上記の肯定的な例は、呼び出し可能と一般に関連付けられる関数についてのものでした。しかし、実際には、すべてのPythonクラスが呼び出し可能です。Pythonでオブジェクト指向プログラミングの基本を知っている場合、クラスのインスタンスを作成するためには次のようにします:¹

>>> class Empty: ...

これはまさに呼び出しのように見えますし、実際にそうです。それがPythonクラスが呼び出し可能である理由です。

このコードはEmptyクラスが呼び出し可能であることを示していますが、実際のところ、どのPythonクラスも呼び出し可能です。ただし、Pythonで…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more