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ą, sukurtą tam, kad jūsų diegimo procesas būtų kuo paprastesnis:

  • Diekite savo aplikaciją į gamybinę aplinką per kelias sekundes su paprastu git push.
  • Naudokite savo pasirinktą domeno vardą, su automatiniu HTTPS sertifikato konfigūravimu – saugūs ryšiai bus užtikrinti automatiškai.
  • Pasikliaukite automatinėmis atsarginėmis kopijomis, atnaujinimais vienu paspaudimu ir prognozuojama kainodara, kad galėtumėte susitelkti į savo kodą, o ne infrastruktūros valdymą.
  • Naudokitės aukštu našumu ir saugumu privačioje, dedikuotoje infrastruktūroje. Jūsų aplinka yra izoliuota ir apsaugota.

Taupykite laiką ir supaprastinkite savo darbo eigą: jūsų kodas gali veikti Stackhero Python cloud hosting platformoje vos per 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!