Function Decorators در Python – DEV Community

Summarize this content to 400 words in Persian Lang
نوشتن کد خشک مهم است. DRY یک کلمه اختصاری مفید است خودت را تکرار نکن. کد خشک برای دیگران خواناتر و به راحتی قابل درک است و شما را توسعه دهنده بهتری می کند! کد خشک اجتناب می کند کد دیگ بخارکدی است که بارها و بارها بدون تغییر زیاد نوشته می شود.
دکوراتورها یک منبع قدرتمند برای توسعه دهندگانی است که می خواهند کد خشک در پایتون بنویسند. دکوراتور راهی برای بسته بندی کد در یک تابع قابل استفاده مجدد است. آنها را می توان قبل از توابع، کلاس ها یا متدها استفاده کرد. در این پست، دکوراتورهای کاربردی را پوشش خواهیم داد.
Decorator تابعی است که تابع دیگری را به عنوان آرگومان می گیرد و تابع جدیدی را در خروجی خود برمی گرداند.
نحوه ساخت کارکرد دکوراتور
دکوراتورها عملکرد دیگری را به عنوان یک استدلال در نظر می گیرند.
def function_1():
print(“Hi”)
def function_2(_f_):
#function_2 is the decorator!
another_function() #continue reading below to see what this function is….
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
در داخل تابع دکوراتور، تابع دومی به نام a وجود دارد لفاف تابع.
تابع wrapper a است تو در تو تابع، به این معنی که تابعی در داخل یک تابع است.
تابع wrapper چیزی است که رفتار مورد نظر را اضافه می کند.
def example_decorator(function):
def wrapper_function(parameter1):
print(“Start”)
val = function(parameter1) # this calls the function passed to example_decorator
print(“End”)
return val
return wrapper_function
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بنابراین، بیایید همه را با هم بچینیم:
def example_decorator(function):
def wrapper_function(parameter1):
print(“Start”)
val = function(parameter1) # this calls the function passed to example_decorator
print(“End”)
return val
return wrapper_function
def print_hello(message):
print(f”{message}”)
print_hello = example_decorator(print_hello)
#^^the variable name (here it’s print_hello) can be anything you want. This is called function aliasing.
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
سپس وقتی با print_hello تماس می گیرید، ….
print_hello(“Hello”):
# Output:
# Start
# Hello
# End
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
وووووو
قابلیت استفاده مجدد
هنگامی که می خواهید دوباره از تابع استفاده کنید، آن را در هر نقطه از کد خود با استفاده از نماد 'at' فعال می کنید: @. سپس کد زیر @ از طریق تابعی که قبلا تعریف کردیم اجرا می شود.
@example_decorator
def print_hello(message):
print(f”{message}”)
# Calling the decorated function:
print_hello(“Hi”)
# Output:
# Start
# Hi
# End
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
وای خیلی زیاد بود
دکوراتورهای تابع بخش چالش برانگیز کدنویسی در پایتون هستند! این چیزها سخت است و شما عالی کار می کنید. 🙂
منابع: مواد مدرسه Flatironhttps://www.youtube.com/watch?v=BE-L7xu8pO4https://www.youtube.com/watch?v=WpF6azYAxYghttps://www.youtube.com/watch?v=r7Dtus7N4pI
نوشتن کد خشک مهم است. DRY یک کلمه اختصاری مفید است خودت را تکرار نکن. کد خشک برای دیگران خواناتر و به راحتی قابل درک است و شما را توسعه دهنده بهتری می کند! کد خشک اجتناب می کند کد دیگ بخارکدی است که بارها و بارها بدون تغییر زیاد نوشته می شود.
دکوراتورها یک منبع قدرتمند برای توسعه دهندگانی است که می خواهند کد خشک در پایتون بنویسند. دکوراتور راهی برای بسته بندی کد در یک تابع قابل استفاده مجدد است. آنها را می توان قبل از توابع، کلاس ها یا متدها استفاده کرد. در این پست، دکوراتورهای کاربردی را پوشش خواهیم داد.
Decorator تابعی است که تابع دیگری را به عنوان آرگومان می گیرد و تابع جدیدی را در خروجی خود برمی گرداند.
نحوه ساخت کارکرد دکوراتور
دکوراتورها عملکرد دیگری را به عنوان یک استدلال در نظر می گیرند.
def function_1():
print("Hi")
def function_2(_f_):
#function_2 is the decorator!
another_function() #continue reading below to see what this function is....
در داخل تابع دکوراتور، تابع دومی به نام a وجود دارد لفاف تابع.
تابع wrapper a است تو در تو تابع، به این معنی که تابعی در داخل یک تابع است.
تابع wrapper چیزی است که رفتار مورد نظر را اضافه می کند.
def example_decorator(function):
def wrapper_function(parameter1):
print("Start")
val = function(parameter1) # this calls the function passed to example_decorator
print("End")
return val
return wrapper_function
بنابراین، بیایید همه را با هم بچینیم:
def example_decorator(function):
def wrapper_function(parameter1):
print("Start")
val = function(parameter1) # this calls the function passed to example_decorator
print("End")
return val
return wrapper_function
def print_hello(message):
print(f"{message}")
print_hello = example_decorator(print_hello)
#^^the variable name (here it's print_hello) can be anything you want. This is called function aliasing.
سپس وقتی با print_hello تماس می گیرید، ….
print_hello("Hello"):
# Output:
# Start
# Hello
# End
وووووو
قابلیت استفاده مجدد
هنگامی که می خواهید دوباره از تابع استفاده کنید، آن را در هر نقطه از کد خود با استفاده از نماد 'at' فعال می کنید: @. سپس کد زیر @ از طریق تابعی که قبلا تعریف کردیم اجرا می شود.
@example_decorator
def print_hello(message):
print(f"{message}")
# Calling the decorated function:
print_hello("Hi")
# Output:
# Start
# Hi
# End
وای خیلی زیاد بود
دکوراتورهای تابع بخش چالش برانگیز کدنویسی در پایتون هستند! این چیزها سخت است و شما عالی کار می کنید. 🙂
منابع:
مواد مدرسه Flatiron
https://www.youtube.com/watch?v=BE-L7xu8pO4
https://www.youtube.com/watch?v=WpF6azYAxYg
https://www.youtube.com/watch?v=r7Dtus7N4pI