【Python】特殊関数(exec、iter、next)の使い方

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

コメント