آموزش ساخت و فراخوانی توابع (Functions) در پایتون
در دنیای برنامهنویسی پایتون، جلوگیری از تکرار کدهای مشابه یکی از مهمترین اصول برای نوشتن یک برنامه بهینه است. توابع (Functions) دقیقا برای همین هدف طراحی شدهاند. با استفاده از توابع میتوانید یک قطعه کد را یک بار بنویسید و بارها در بخشهای مختلف برنامه از آن استفاده کنید. در این مقاله از پای شو، به صورت جامع و گامبهگام به آموزش ساخت و فراخوانی توابع در پایتون میپردازیم.
تابع (Function) چیست؟
تابع مجموعهای از دستورات است که تحت یک نام مشخص گروهبندی میشوند و یک وظیفه خاص را انجام میدهند. توابع به تنهایی کاری انجام نمیدهند و تنها زمانی اجرا میشوند که شما آنها را در بخشی از برنامه فراخوانی کنید. استفاده از توابع علاوه بر جلوگیری از تکرار کد، عیبیابی (Debugging) و توسعه برنامه را بسیار سادهتر میکند.
نحوه ساخت (تعریف) تابع در پایتون
برای ساخت یک تابع در پایتون از کلمه کلیدی def استفاده میشود. ساختار کلی یک تابع بسیار ساده و خوانا است.
def function_name():
# دستورات تابع در این قسمت نوشته میشوند
print("Hello from Python!")
نکته مهم: در پایتون برای مشخص کردن بلوکهای کد از براکت استفاده نمیشود؛ بلکه رعایت تورفتگیها (Indentation) الزامی است و کدهای داخل تابع باید یک فاصله (معمولا ۴ Space یا یک Tab) به داخل داشته باشند.
نحوه فراخوانی (Call) توابع
همانطور که گفته شد، تعریف تابع به تنهایی باعث اجرای آن نمیشود. برای اجرای کدهای داخل تابع، باید آن را با استفاده از نام تابع همراه با پرانتز باز و بسته فراخوانی کنید:
def greet():
print("خوش آمدید به آموزشهای پای شو!")
# فراخوانی تابع
greet()
با هر بار نوشتن ()greet کدهای داخل تابع اجرا شده و خروجی نمایش داده میشود.
ارسال اطلاعات به تابع (آرگومانها و پارامترها)
بسیاری از مواقع نیاز داریم اطلاعاتی را به تابع ارسال کنیم تا تابع بر اساس آن دادهها عملیاتی را انجام دهد. این اطلاعات در قالب پارامتر (Parameter) در داخل پرانتزِ تعریفِ تابع نوشته میشوند. هنگام فراخوانی نیز مقادیر واقعی (آرگومانها) را به آن پاس میدهیم:
def say_hello(name):
print("سلام " + name + " عزیز!")
# ارسال مقادیر مختلف به تابع
say_hello("علی")
say_hello("سارا")
شما میتوانید بیش از یک پارامتر برای توابع خود در نظر بگیرید، کافی است آنها را با کاما , از یکدیگر جدا کنید.
بازگرداندن مقدار از تابع (دستور return)
گاهی اوقات میخواهیم تابع پس از انجام محاسبات، یک خروجی را به ما برگرداند تا بتوانیم در متغیرهای دیگر ذخیره کرده یا در بخش دیگری از برنامه از آن استفاده کنیم. برای این کار از کلمه کلیدی return استفاده میکنیم:
def calculate_sum(a, b):
result = a + b
return result
# ذخیره خروجی تابع در یک متغیر
total = calculate_sum(10, 15)
print("حاصل جمع برابر است با:", total)
توجه: به محض اینکه برنامه به دستور return برسد، اجرای تابع در همان نقطه پایان مییابد و مقادیر به محل فراخوانی بازگردانده میشوند. دستورات بعد از return درون یک تابع اجرا نخواهند شد.
تعیین مقادیر پیشفرض برای پارامترها (Default Parameters)
شما میتوانید برای پارامترهای یک تابع مقدار پیشفرض تعیین کنید. در این حالت، اگر هنگام فراخوانی تابع، مقداری برای آن پارامتر ارسال نشود، پایتون به صورت خودکار از مقدار پیشفرضی که تعیین کردهاید استفاده میکند و برنامه با خطا مواجه نمیشود:
def show_course_info(course="پایتون"):
print("نام دوره آموزشی شما: " + course + " است.")
show_course_info("طراحی سایت") # خروجی: نام دوره آموزشی شما: طراحی سایت است.
show_course_info() # خروجی: نام دوره آموزشی شما: پایتون است. (استفاده از مقدار پیشفرض)
جمعبندی
در این مطلب با مفهوم توابع در پایتون آشنا شدیم. یاد گرفتیم که چگونه با استفاده از کلمه کلیدی def یک تابع بسازیم، آن را فراخوانی کنیم، ورودیهای لازم را به آن بدهیم و در نهایت با دستور return خروجی مطلوب را دریافت کنیم. تسلط بر توابع یکی از پیشنیازهای اصلی برای ورود به مباحث پیشرفتهتر پایتون است و باعث میشود کدهای شما ساختاریافتهتر و حرفهایتر شوند.

بدون دیدگاه