Pythonのファーストクラス関数
さまざまなプログラミング言語では、ファーストクラスオブジェクトはそれらのオブジェクトであり、均一に処理できます。ファーストクラスオブジェクトは、データ構造、他の関数の一部のパラメーター、制御構造などとして格納できます。ファーストクラスオブジェクトのすべてのプロパティをサポートしている場合、Pythonの関数はファーストクラス関数であると言えます。
ファーストクラス関数のプロパティは何ですか?
- これはオブジェクトタイプのインスタンスです
- 関数は変数として保存できます
- 他の関数の引数として第一級関数を渡す
- 他の関数から関数を返す
- 関数をリスト、セット、またはその他のデータ構造に格納します。
最初に、Pythonの関数をオブジェクトとして使用する方法を説明します。 Pythonでは、関数を変数として割り当てることができます。変数として割り当てるために、関数は呼び出されません。したがって、括弧「()」はありません。
サンプルコード
def cube(x): return x*x*x res = cube(5) print(res) my_cube = cube #The my_cube is same as the cube method res = my_cube(5) print(res)
出力
125 125
次に、関数を別の関数の引数として渡す方法を見ていきます。これが例です。
サンプルコード
def cube(x): return x*x*x defmy_map(method, argument_list): result = list() for item in argument_list: result.append(method(item)) return result my_list = my_map(cube, [1, 2, 3, 4, 5, 6, 7, 8]) #Pass the function as argument print(my_list)
出力
[1, 8, 27, 64, 125, 216, 343, 512]
これが第一級関数の3番目のプロパティです。この場合、ある関数を別の関数から返します。
サンプルコード
defcreate_logger(message): deflog(): print('Log Message: ' + message) return log #Return a function my_logger = create_logger('Hello World') my_logger()
出力
Log Message: Hello World
-
Pythonのissubset()関数
この記事では、Python標準ライブラリで利用可能なissubset()関数の実装と使用法について学習します。 issubset()メソッドは、セットのすべての要素が別のセットに存在する場合(引数として渡される場合)はブール値のTrueを返し、それ以外の場合はブール値のFalseを返します。 下の図では、BはAのサブセットです。AとBが同一のセットである場合、AはBの適切なサブセットであることを意味します。これは、両方のセットに同じ要素が含まれていることを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値 boolean True/
-
Intersection()関数Python
この記事では、任意のセットで実行できるintersection()関数について学習します。数学によると、共通部分とは、2つのセットから共通の要素を見つけることを意味します。 構文 <set name>.intersection(<set a1> <set a2> ……..) 戻り値 引数として渡されるセット内の共通要素。 例 set_1 = {'t','u','t','o','r','i','a','l&