Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა არის დეკორატორი კლასის მეთოდებისთვის Python-ში?

sobes.tech AI

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

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

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

სადაც არის მარტივი დეკორატორის მაგალითი კლასის მეთოდისთვის:

class ჩემიკლასი:
    def decorator(func):
        def wrapper(self, *args, **kwargs):
            print(f"{func.__name__} მეთოდი გამოიძახა")
            return func(self, *args, **kwargs)
        return wrapper

    @decorator
    def მეთოდი(self, x):
        return x * 2

ობიექტი = ჩემიკლასი()
print(obj.მეთოდი(5))  # გამოიტანს შეტყობინებას და შედეგს 10

აქ, @decorator იფარავს მეთოდი მეთოდს და დამატებით გამოსავალს იძლევა გამოძახებისას.