トッカンソフトウェア

Python functools

functoolsをやります。


wraps

functoolsのwrapsを使うと、関数前後に処理を行うことができます。
引数を変更したり、戻り値を変更することもできます。
				
from functools import wraps


def decoratorTest(f):

    @wraps(f)
    def wrapTest(*args, **kwds):
        print('事前処理')
        ret = f(*args, **kwds)
        print('事後処理 戻り値:' + ret)
        return ret

    return wrapTest


@decoratorTest
def execute():
    print('Hello')
    return 'world'

execute()


			
実行結果

partial

functoolsのpartialを使うと引数の一部を固定できます。
				
from functools import partial


def message(msg1, msg2):

    print(msg1 + msg2)

notInput = partial(message, msg2="が入力されていません")

notInput("Text1")


			
実行結果


ページのトップへ戻る