Python: Dekoratoriai

Ši dokumentacija yra Mokymasis Python vadovo dalis. Visą vadovą rasite čia: Išsamus Python vadovas.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Python cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įdiekite savo programą per kelias sekundes su paprastu git push.
  • Naudokite savo domeno vardą ir pasinaudokite automatinės HTTPS sertifikatų konfigūracijos privalumais, kad padidintumėte saugumą.
  • Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
  • Gaukite optimalią veikimo ir tvirtą saugumo lygį dėka privačios ir dedikuotos VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Python cloud hosting sprendimą užtrunka tik 5 minutes!

Dekoratoriai leidžia išplėsti arba modifikuoti funkcijų ar klasių elgesį, nekeisdami jų šaltinio kodo. Jie apgaubia kitą funkciją ir prideda tam tikrą funkcionalumą prieš arba po apgaubtos funkcijos vykdymo.

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # daryti kažką prieš iškviečiant funkciją
    result = func(*args, **kwargs)
    # daryti kažką po funkcijos iškvietimo
    return result
  return wrapper

@decorator_function
def my_function():
  # daryti kažką

Pavyzdžiai:

def greet_decorator(func):
  def wrapper(name):
    return "Hello, " + func(name) + "!"
  return wrapper

@greet_decorator
def get_name(name):
  return name

print(get_name("John"))  # Rezultatas: Hello, John!