مقدمه

به فصل «توابع پایتون» خوش آمدید. تا به اینجا با مفاهیم پایه‌ای مانند متغیرها، انواع داده و ساختارهای کنترلی آشنا شده‌ایم. اکنون به یکی از بنیادی‌ترین و قدرتمندترین ابزارهای هر زبان برنامه‌نویسی می‌رسیم: «توابع» (Functions). یک تابع، یک بلوک کد سازماندهی‌شده و قابل استفاده مجدد است که برای انجام یک کار مشخص طراحی شده است.

استفاده از توابع به ما کمک می‌کند تا برنامه‌های خود را به قطعات کوچک‌تر و مدیریت‌پذیرتر تقسیم کنیم (ماژولاریتی)، از تکرار کد جلوگیری کنیم (اصل DRY) و خوانایی کلی برنامه را افزایش دهیم.

تعریف و فراخوانی یک تابع ساده

در پایتون، ما با استفاده از کلمه کلیدی def یک تابع جدید تعریف می‌کنیم. سینتکس اصلی به شکل زیر است:

Copy Icon PYTHON
def greet():
    """This function prints a greeting message."""
    print("Hello, Python developer!")

# Calling the function
greet()

در این مثال، ما یک تابع به نام greet تعریف کرده‌ایم. بدنه تابع (کدی که با تعریف تابع اجرا می‌شود) با یک تورفتگی (indentation) مشخص می‌شود. رشته‌ای که در خط اول بدنه تابع قرار دارد، به عنوان «داک‌استرینگ» (docstring) شناخته می‌شود و برای مستندسازی کاری که تابع انجام می‌دهد، استفاده می‌شود. برای اجرای کد داخل تابع، باید آن را «فراخوانی» (call) کنیم، که این کار با نوشتن نام تابع و به دنبال آن یک جفت پرانتز انجام می‌شود.

ارسال اطلاعات به تابع با پارامترها

بسیاری از اوقات، ما می‌خواهیم اطلاعاتی را به تابع خود ارسال کنیم تا روی آن کار کند. این کار با استفاده از «پارامترها» (parameters) انجام می‌شود. پارامترها متغیرهایی هستند که در داخل پرانتزهای تعریف تابع لیست می‌شوند. وقتی تابع را فراخوانی می‌کنیم، مقادیری را که به آن پاس می‌دهیم، «آرگومان» (arguments) می‌نامند.

Copy Icon PYTHON
def greet_user(username):
    """Display a personalized greeting."""
    print(f"Hello, {username}!")

greet_user("Alice")
greet_user("Bob")

در اینجا، username یک پارامتر برای تابع greet_user است. در اولین فراخوانی، آرگومان "Alice" به پارامتر username اختصاص داده می‌شود و در دومین فراخوانی، آرگومان "Bob". این کار به ما اجازه می‌دهد تا یک تابع را با داده‌های مختلف به صورت مکرر استفاده کنیم.

برگرداندن مقدار با دستور return

یک تابع می‌تواند پس از انجام محاسبات خود، یک مقدار را به کدی که آن را فراخوانی کرده است، «برگرداند» (return). این کار با استفاده از دستور return انجام می‌شود. تابعی که مقدار برمی‌گرداند، بسیار مفید است زیرا می‌توان از نتیجه آن در بخش‌های دیگر برنامه استفاده کرد.

Copy Icon PYTHON
def square(number):
    """Return the square of a number."""
    return number * number

result = square(5)
print("The square of 5 is:", result) # Output: 25

در این مثال، تابع square مجذور عدد ورودی را محاسبه کرده و با دستور return آن را برمی‌گرداند. ما نتیجه بازگشتی را در متغیر result ذخیره کرده و سپس آن را چاپ می‌کنیم. اگر یک تابع دستور return نداشته باشد، به صورت پیش‌فرض مقدار ویژه None را برمی‌گرداند.

در این درس با اصول اولیه تعریف و فراخوانی توابع در پایتون آشنا شدیم. دیدیم که چگونه می‌توان با استفاده از پارامترها به توابع ورودی داد و چگونه با دستور return از آنها خروجی گرفت. این مهارت‌ها برای نوشتن کدهای ماژولار و قابل نگهداری ضروری هستند. در درس بعدی، به بررسی دقیق‌تر «انواع آرگومان‌ها» خواهیم پرداخت و با مفاهیمی مانند آرگومان‌های موقعیتی، کلیدواژه‌ای و پیش‌فرض آشنا خواهیم شد.