Python decorator / annotation

  • Instal python
def five():  return 5def add(param):  return param + paramdef func_as_param(func, x):  return func(x)five = five()func_add = func_as_param(add,five)  print(“output : “, func_add)output : 10
  • Function five adalah sebuah function yang mengembalikan nilai 5, dan balikan function five disimpan pada variable five.
  • Function func_as_param membutuhkan 2 parameter yaitu parameter pertama adalah sebuah fungsi dan parameter kedua adalah sebuah object yang berupa integer. Pada parameter pertama dilemparlah fungsi add sebagai argument, jadi parameter func mereference ke fungsi add.
def print_msg(msg):    # This is the outer enclosing function    def printer():        # This is the nested function        print(msg)        return printer() # returns the nested functionprint_msg(“hallo”)Output : hallo
def print_msg_closure(msg):    # This is the outer enclosing function    def printer():        # This is the nested function        print(msg)        return printer # returns the nested functionclos = print_msg_closure(“hallo closure”)clos()Output : hallo closure
  • Pada kodingan di atas balikan dari method print_msg_closure adalah closure (sebuah variabel yang merujuk / mereference pada fungsi printer). Variabel clos adalah instance variable dari fungsi print_msg_closure, karena balikan fungsi print_msg_closure adalah closure maka variabel clos bisa disebut juga sebagai closure.
def make_decorated(func):    def inner(*args, **kwargs):        print(“I got decorated”)        for arg in args:            print(“Argument via *args :”, arg)            print(kwargs.get(‘firstname’))        func()    return inner@make_decorateddef original():    print(“I am original”)original(“hallo”, firstname=”john”)Output :I got decoratedArgument via *args : hallojohnI am original

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
wahyu eko hadi saputro

wahyu eko hadi saputro

i am a reader

More from Medium

Python timeit module

FILE HANDLING IN PYTHON

How To Get Class Name In Python — pythonpip.com

Format Python Code with Pylint