Pythonにおける関数オブジェクト、ネスト、スコープ、デコレータの詳細解説
関数オブジェクト
Pythonでは関数は第一級オブジェクトとして扱われ、以下のようにデータとして操作可能である:
変数に代入できる
他の関数の引数として渡せる
関数の戻り値として返せる
リストや辞書などのコンテナに格納できる
この性質を活かして、条件分岐をより簡潔に記述できる。例えば:
def handle_foo():
print('foo')
def handle_bar():
pr ...
8月9日 07:21 投稿
C++11における関数ラッパーとstd::bindの活用
関数ラッパーの必要性
異なる呼び出し形式を持つ関数オブジェクトを統一的に扱うため、C++11ではstd::functionが提供されています。テンプレート関数の多重インスタンス化による効率低下を防ぐ効果があります。
#include <functional>
#include <iostream>
// 統一呼び出しインターフェース
template <typename F, typename T>
T applyCallable(F f, T ...
7月9日 19:45 投稿