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入門】サンプル集 |

コメント