برنامه نویسی

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا