2018年10月16日火曜日

開発環境

  • macOS Mojave - Apple
  • Emacs (Text Editor)
  • Python 3.7 (プログラミング言語)

Head First Python 第2版 ―頭とからだで覚えるPythonの基本 (Paul Barry (著)、嶋田 健志 (監修)、木下 哲也 (翻訳)、オライリージャパン)の10章(関数デコレーター - 関数を包む)、自分で考えてみよう(p. 399)を取り組んでみる。

コード(Emacs)

Python 3

session = {}

def check_logged_in(func: object):
    def wrapper():
        if 'logged_in' in session:
            return func()
        return 'ログインしていません。'
    return wrapper

if __name__ == '__main__':
    def func():
        print('wrapper')
    wrapper = check_logged_in(func)
    print(wrapper())
    session['logged_in'] = True
    print(wrapper())

入出力結果(Terminal, Jupyter(IPython))

$ python3 checker.py
ログインしていません。
wrapper
None
$

0 コメント:

コメントを投稿