Sobes.tech
Junior — Middle

გთხოვთ, ახსნათ დეკორატორების კონცეფცია Python-ში და როგორ გამოიყენება ისინი ფუნქციების ქცევის შეცვლისთვის.

sobes.tech AI

პასუხი AI-სგან

Python-ის დეკორატორები არის ფუნქციები, რომლებიც იღებენ სხვა ფუნქციას და აბრუნებენ ახალ ფუნქციას შეცვლილი ან გაფართოებული ქცევით, არ משנה მათი წყაროს კოდი.

სწრაფად გამოიყენება:

  • ზარის ჩაწერა
  • წვდომის უფლებების შემოწმება
  • შედეგების ქეშირება
  • შესრულების დროის გაზომვა

სადაც არის მარტივი დეკორატორი, რომელიც გამოჩნდება შეტყობინებას ფუნქციის გამოძახებამდე და შემდეგ:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("ფუნქციის გამოძახებამდე")
        result = func(*args, **kwargs)
        print("ფუნქციის გამოძახების შემდეგ")
        return result
    return wrapper

@decorator
def say_hello(name):
    print(f"გამარჯობა, {name}!")

say_hello("მსოფლიო")

გამომავალი იქნება:

ფუნქციის გამოძახებამდე
გამარჯობა, მსოფლიო!
ფუნქციის გამოძახების შემდეგ

ამ გზით, დეკორატორები საშუალებას აძლევენ ფუნქციების ქცევის დინამიკურად შეცვლას, მათი წყაროს კოდის შეცვლის გარეშე.