私は現在、GNUライセンス本「Pythonを使用したコンピュータサイエンス入門」を使用して、Pythonを教えています。
第3章では、機能について説明します。関数の概念と、それらが呼び出されるたびに定義された一連のステートメントを実行してコードを単純化する方法を理解していますが、モジュールは関連する関数と変数のコレクションであり、ファイルに格納されていますが、モジュールオブジェクトの概念と関数オブジェクト。たとえば、「数学のインポート」を実行すると、モジュールオブジェクトが作成されます。また、関数を定義して実行すると、関数オブジェクトが作成されます。
誰かがこれらの「オブジェクト」が何であるかを私に説明してくれませんか?
実行時のPythonは、実行中のコードの状態に関する多くの情報を保持し、その多くをプログラマーに公開します。したがって、実行時には、モジュールのインポート時に作成されるモジュールオブジェクトと呼ばれる実際のオブジェクト(クラスのインスタンス)があります。これは本物のPythonオブジェクトであり、Pythonオブジェクトで実行できることを使用して何でも実行できます。 これにはメソッドとすべてがあります。
実行される関数定義(実行される関数と同じではありません-通常、モジュールのインポート時に関数に対して一度定義が実行されます)は、特別な種類のオブジェクトである関数オブジェクトを作成しますこれは、実行可能コードのラッパーです。これも実際のオブジェクトです。変数を設定したり、パラメーターとして渡したり、メソッドを呼び出したりできます。
関数オブジェクトとは、Pythonが関数を最初のクラスオブジェクトとして扱うことを意味します。これにより、Pythonで関数型プログラミングの特定の手法を使用できます。特に、文字列や配列などの他のオブジェクトを渡す方法と同様の方法。
モジュールオブジェクトは、関数のライブラリを表す作成されたオブジェクトです。これは、よりオブジェクト指向の言語の抽象クラスに似ています。インポートして、使用する必要がある可能性のある事前定義された関数のセットを取得します。