فهرست سرفصل‌های Python
خانه (Home) مقدمه (Introduction) شروع به کار (Getting Started) سینتکس (Syntax) کامنت ها (Comments) متغیرها (Variables) متغیرها - نام گذاری (Variables Names) متغیرها - اختصاص چندین مقدار (Assign Multiple Values) متغیرها - خروجی (Output Variables) متغیرها - سراسری (Global Variables) انواع داده ها (Data Types) اعداد (Numbers) تبدیل (Casting) رشته ها (Strings) رشته ها - برش (Slicing Strings) رشته ها - اصلاح (Modify Strings) رشته ها - چسباندن (String Concatenation) رشته ها - قالب بندی (Format - Strings) رشته ها - کاراکتر فرار (Escape Characters) رشته ها - متدها (String Methods) بولین ها (Booleans) عملگرها (Operators) لیست ها (Lists) لیست ها - دسترسی به آیتم (Access List Items) لیست ها - تغییر آیتم (Change List Items) لیست ها - اضافه کردن آیتم (Add List Items) لیست ها - حذف کردن آیتم (Remove List Items) لیست ها - حلقه (Loop Lists) لیست ها - فهرست سازی فشرده (List Comprehension) لیست ها - مرتب سازی (Sort Lists) لیست ها - کپی (Copy Lists) لیست ها - چسباندن (Join Lists) لیست ها - متدها (List Methods) تاپل ها (Tuples) تاپل ها - دسترسی به آیتم ها (Access Tuple Items) تاپل ها - به روز رسانی (Update Tuples) تاپل ها - باز کردن (Unpack Tuples) تاپل ها - حلقه (Loop Tuples) تاپل ها - چسباندن (Join Tuples) تاپل ها - متدها (Tuple Methods) مجموعه ها - (Sets) مجموعه ها - دسترسی به آیتم ها (Access Set Items) مجموعه ها - اضافه کردن آیتم (Add Set Items) مجموعه ها - حذف کردن آیتم ها (Remove Set Items) مجموعه ها - حلقه (Loop Sets) مجموعه ها - چسباندن (Join Sets) مجموعه ها - یخ زده (Frozen Sets) مجموعه ها - متدها (Set Methods) دیکشنری ها (Dictionaries) دیکشنری ها - دسترسی به آیتم ها (Access Dictionary Items) دیکشنری ها - تغییر آیتم ها (Change Dictionary Items) دیکشنری ها - اضافه کردن آیتم (Add Dictionary Items) دیکشنری ها - حذف کردن آیتم (Remove Dictionary Items) دیکشنری ها - حلقه (Loop Dictionaries) دیکشنری ها - کپی (Copy Dictionaries) دیکشنری ها - تو در تو (Nested Dictionaries) دیکشنری ها - متدها (Dictionary Methods) شرط ها (If...Else) مطابقت (Match) حلقه While (While Loops) حلقه For (For Loops) توابع (Functions) دکوراتورها (Decorators) محدوده (Range) لامبدا (Lambda) آرایه ها (Arrays) شی گرایی (OOP) کلاس ها و اشیاء (Classes and Objects) وراثت (Inheritance) تکرارکننده ها (Iterators) چندریختی (Polymorphism) محدوده (Scope) ماژول ها (Modules) تاریخ و زمان (Datetime) ریاضی (Math) جی سون (JSON) عبارت منظم (Regex) پیپ (PIP) استثنا (Try...Except) قالب بندی رشته ها (String Formatting) خالی (None) ورودی از کاربر (User Input) محیط مجازی (Virtual Enviroment)
PYTHON

Python — توابع (Functions)

آخرین بروزرسانی: 1404/07/05

توابع (Functions)

تابع (Function) در پایتون یک بلوک کد است که تنها زمانی اجرا می شود که فراخوانی شود. شما می توانید داده ها را به عنوان «پارامتر» یا «آرگومان» به توابع ارسال کنید و همچنین خروجی دریافت کنید.

ایجاد تابع

برای تعریف یک تابع از کلیدواژه def استفاده می شود:

def my_function():
    print("Hello from a function")

فراخوانی تابع

برای اجرای تابع کافی است نام تابع و پرانتزها را بنویسید:

def my_function():
    print("Hello from a function")

my_function()

آرگومان ها

آرگومان ها داده هایی هستند که هنگام فراخوانی به تابع ارسال می شوند:

def my_function(fname):
    print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")

نکته: آرگومان ها در مستندات پایتون اغلب به صورت args نوشته می شوند.

تعداد آرگومان ها

تعداد آرگومان ها باید دقیقاً مطابق تعریف تابع باشد؛ در غیر این صورت خطا ایجاد می شود.

def my_function(fname, lname):
    print(fname + " " + lname)

my_function("Emil", "Refsnes")

آرگومان های دلخواه (*args)

با استفاده از * می توانید تعداد نامشخصی آرگومان دریافت کنید:

def my_function(*kids):
    print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")

آرگومان های کلیدی (kwargs)

می توانید آرگومان ها را با کلید=مقدار ارسال کنید:

def my_function(child3, child2, child1):
    print("The youngest child is " + child3)

my_function(child1="Emil", child2="Tobias", child3="Linus")

نکته: در مستندات پایتون معمولاً به صورت kwargs نوشته می شود.

مقادیر پیش فرض

می توانید برای پارامترها مقدار پیش فرض تعریف کنید:

def my_function(country = "Norway"):
    print("I am from " + country)

my_function("Sweden")
my_function()

بازگشت مقدار

برای برگرداندن خروجی از دستور return استفاده کنید:

def my_function(x):
    return 5 * x

print(my_function(3))

بازگشت بازگشتی (Recursion)

تابع می تواند خودش را صدا بزند. این ویژگی به نام بازگشت (Recursion) شناخته می شود و در مسائل ریاضی بسیار پرکاربرد است:

def tri_recursion(k):
    if k > 0:
        result = k + tri_recursion(k - 1)
        print(result)
    else:
        result = 0
    return result

tri_recursion(6)

هشدار: در استفاده از بازگشت دقت کنید، زیرا ممکن است منجر به مصرف زیاد حافظه شود.

ادامه یادگیری

برای یادگیری بیشتر درباره توابع پیشرفته، به بخش دکوراتورهای پایتون مراجعه کنید. همچنین برای مرور حلقه ها به بخش حلقه for در پایتون برگردید.