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("მსოფლიო")
გამომავალი იქნება:
ფუნქციის გამოძახებამდე
გამარჯობა, მსოფლიო!
ფუნქციის გამოძახების შემდეგ
ამ გზით, დეკორატორები საშუალებას აძლევენ ფუნქციების ქცევის დინამიკურად შეცვლას, მათი წყაროს კოდის შეცვლის გარეშე.