Pythonにおける特殊関数(exec、iter、next)について入門者向けにまとめました。
【実行】exec関数
exec関数とは、コードを動的に実行させる機能です。
書式
exec(object[, globals[, locals]])
– | 説明 |
---|---|
引数(object) | 文字列やオブジェクトを渡します。 |
execに渡した引数に渡した文字列やオブジェクトが実行されます。
サンプルコード
print関数を文字列で渡して実行されます。
exec(print(Hello)) # hello
ファイルオブジェクトを渡して、TXTファイルを開きます
f = open("data.txt") exec(f)
– | 詳細 |
---|---|
※ | ■【Python】exec文の使い方 |
【イテレータ】iter関数、next関数
イテレータとは、リストなどのオブジェクトから、順番に要素を取り出す機能です。
サンプルコード
array = [1, 2, 3] a = iter(array) print( next(a) ) # 1 print( next(a) ) # 2 print( next(a) ) # 3
関数 | 処理内容 |
---|---|
iter関数 | リスト等のオブジェクトをイテレータに変換 |
next関数 | イテレータから要素を順に取り出す |
– | 詳細 |
---|---|
※ | ■【Python】イテレータの使い方(iter・next関数) |
【デコレータ】@
デコレータ(装飾)とは、指定した関数の「前後に特殊な処理を実行させる」機能です。
使い方は簡単で、指定したい関数の上に「@デコレータ名」を付けます。
また、前処理と後処理をデコレータ関数に記述します。
# デコレータの定義 def decolater(func): def wrapper(): print("前処理") # 前処理の実行 func() # デコレート対象の関数を実行 print("後処理") # 後処理の実行 return wrapper @decolater # デコレート対象の関数 def main(): print("メイン処理") main() # 前処理 > メイン処理 > 後処理
– | 詳細 |
---|---|
※ | ■【Python】@デコレータの使い方 |
– | 参考文献・関連記事 |
---|---|
関連 | ■【Python入門】サンプル集 |
コメント