توابع در برنامه نویسی پایتون

4 سال پیش
توابع در برنامه نویسی پایتون

توابع در برنامه نویسی پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، شما در مورد توابع در برنامه نویسی پایتون (python function)، اینکه یک تابع چیست، نحو، اجزا، و انواع توابع را خواهید آموخت. همچنین، ایجاد یک تابع در پایتون را یاد خواهید گرفت.

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

یک تابع در پایتون چیست؟

در پایتون، یک تابع گروهی از عبارات مرتبط است که وظیفه خاصی را انجام می دهد.

توابع کمک می کند تا برنامه ما به قطعات کوچکتر و مدولار تقسیم شود. هرچه برنامه ما بزرگتر و بزرگتر می شود، توابع آن را سازمان یافته تر و قابل کنترل تر می کند.

علاوه بر این، از تکرار جلوگیری می کند و کد را قابل استفاده مجدد می کند.

نحو تابع در پایتون

def function_name(parameters):
    """docstring"""
    statement(s)

 

در بالا تعریف تابع نشان داده شده است و اجزای آن در آمده است؛

  1. کلیدواژه def که شروع سرآیند یا هدر تابع را نشان می دهد.
  2. نام تابع (function_name) برای شناسایی منحصر به فرد تابع است. نامگذاری تابع از همان قوانین نوشتن شناساگر ها در پایتون پیروی می کند.
  3. پارامترهایی (آرگومان ها) که از طریق آنها مقادیر را به یک تابع منتقل می کنیم. آنها اختیاری هستند.
  4. دونقطه (:) برای پایان دادن به سرآیند تابع است.
  5. داک استرینگ (docstring) برای توصیف تابع به صورت اختیاری می باشد.
  6. یک یا چند جمله معتبر پایتون که بدنه تابع را تشکیل می دهند. عبارات باید سطح تورفتگی یکسانی داشته باشند (معمولاً ۴ فاصله).
  7. یک دستور return اختیاری برای برگرداندن مقداری از تابع.

مثالی از تابع در پایتون

def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

 

 

چگونه می توان یک تابع را در پایتون فراخوانی کرد؟

هنگامی که یک تابع را تعریف کردیم، می توانیم آن را از طریق یک تابع ، برنامه یا حتی خط فرمان پایتون فراخوانی کنیم. برای فراخوانی یک تابع، ما به سادگی نام تابع را با پارامترهای مناسب تایپ می کنیم.

>>> greet('Paul')
Hello, Paul. Good morning!

 

توجه: برای دیدن خروجی کد بالا باید شل پایتون را اجرا کنید.

def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

greet('Paul')

 

داک استرینگ (docstring) در برنامه نویسی پایتون

اولین رشته بعد از هدر تابع docstring نام دارد و کوتاه رشته مستند سازی است. به طور خلاصه برای توضیح کارکرد یک تابع استفاده می شود.

اگرچه اختیاری است، اما برای مستند سازی یک روش برنامه نویسی خوب است.

در مثال بالا، یک Docstring داریم که بلافاصله زیر سرآیند تابع قرار دارد. ما به طور کلی از نقل قول های سه گانه استفاده می کنیم تا docstring بتواند تا چندین خط گسترش یابد. این رشته به عنوان ویژگی __doc__ تابع در دسترس ما است.

مثلا:

برای دیدن خروجی موارد زیر را در شل پایتون اجرا کنید.

>>> print(greet.__doc__)

    This function greets to
    the person passed in as
    a parameter

دستور Return در پایتون

از دستور Return برای خروج از یک تابع و بازگشت به مکانی که از آن فراخوانی شده استفاده می شود.

 

نحو دستور Return در پایتون

return [expression_list]

 

این دستور می تواند شامل دستور باشد که ارزیابی شده و مقدار بازگردانده می شود. اگر عبارتی در دستور وجود نداشته باشد یا دستور Return در داخل یک تابع وجود نداشته باشد، آنگاه این تابع شی None را برمی گرداند.

به عنوان مثال:

>>> print(greet("May"))
Hello, May. Good morning!
None

 

در اینجا، None مقدار برگشتی نیست زیرا ()greet مستقیماً نام را چاپ می کند و از دستور Return استفاده نمی شود.

 

مثال دستور Return در پایتون

def absolute_value(num):
    """This function returns the absolute
    value of the entered number"""

    if num >= 0:
        return num
    else:
        return -num


print(absolute_value(2))

print(absolute_value(-4))

 

خروجی

۲
۴

 

چگونه یک تابع در برنامه نویسی پایتون کار می کند؟

دامنه و طول عمر متغیرها در برنامه نویسی پایتون

دامنه یک متغیر بخشی از برنامه است که در آن متغیر شناسایی می شود. پارامترها و متغیرهای تعریف شده در داخل یک تابع از خارج از تابع قابل مشاهده نیستند. از این رو، دامنه محلی دارند.

طول عمر یک متغیر دوره ای است که متغیر در حافظه وجود دارد. طول عمر متغیرهای داخل یک تابع به اندازه اجرای تابع است.

متغیر های درون تابع پس از بازگشت (return) از تابع از بین می ‌روند.

در اینجا مثالی برای نشان دادن دامنه یک متغیر درون یک تابع آورده شده است.

def my_func():
    x = 10
    print("Value inside function:",x)

x = 20
my_func()
print("Value outside function:",x)

 

خروجی

Value inside function: 10
Value outside function: 20

 

در اینجا می بینیم که مقدار x در ابتدا ۲۰ است. اگرچه تابع my_func () مقدار x را به ۱۰ تغییر داده است، اما بر مقدار خارج از تابع تاثیری ندارد.

دلیل این امر آنست که متغیر x درون تابع با متغیر خارج (محلی نسبت به تابع) متفاوت است. اگرچه آنها نامهای یکسانی دارند، اما دو متغیر متفاوت با دامنه متفاوت هستند.

از طرف دیگر، متغیرهای خارج از تابع از داخل قابل مشاهده و دسترسی هستند. دامنه سراسری دارند.

ما می توانیم این مقادیر را از داخل تابع بخوانیم اما نمی توانیم آنها را تغییر دهیم (بنویسیم). برای تغییر مقدار متغیرهای خارج از تابع، باید آنها را به عنوان متغیرهای سراسری با استفاده از کلیدواژه global تعریف کرد.

 

انواع توابع در پایتون 

در واقع، ما می توانیم توابع را به دو نوع زیر تقسیم کنیم:

توابع توکار – توابعی که در پایتون تعبیه شده اند.
توابع تعریف شده توسط کاربر – توابعی که کاربران آن ها را تعریف می کنند.

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون
  6. تبدیل نوع در برنامه نویسی پایتون
  7. ورودی، خروجی و وارد کردن در برنامه نویسی پایتون
  8. عملگرها در برنامه نویسی پایتون
  9. نام و دامنه در برنامه نویسی پایتون
  10. دستور شرطی if…else در برنامه نویسی پایتون
  11. حلقه for در برنامه نویسی پایتون
  12. حلقه while در برنامه نویسی پایتون
  13. دستورات break و continue در برنامه نویسی پایتون
  14. دستور pass در برنامه نویسی پایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه