تابع چیست؟

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

توابع میتوانند یک یا چند ورودی میتوانند بگیرند و یک خروجی ارائه دهند. 

برای مثال میتوانند دو عدد را بگیرند و باهم جمع کنند و بعنوان خروجی ارائه دهند.

اینکار کمک میکند تا به جای اینکه چندبار چند عدد را باهم جمع کنید، هربار که تصمیم به این کار گرفتید ، این تابع را فراخوانی کنید و خروجی را مستقیما دریافت کنید.

نحو نوشتار تابع

در مثال زیر یک نمونه تابع را میبینیم:

def function_name():
  print("سلام این یک تابع است.")
  • def کلمه ی کلیدی ایجاد یک تابع است و بدون نوشتن آن تابع ایجاد نمیشود.
  • function_name بخشی است که میتوانید یک نام اختصاری برای تابع خود بنویسید تا در ادامه با این نام آنرا فراخوانی کنید.

نام تابع چگونه باشد؟

نام تابعی که انتخاب میکنید بهتر است کوتاه باشد و کارایی تابع را نشان دهد.

برای مثال میتوانید برای یک تابع که دو عدد را جمع میکند نام sum را بگذارید.

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

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

در مثال زیر یک نمونه از فراخوانی یک تابع را مشاهده میکنیم.

def function():
  print("سلام این یک تابع است.")

function()

پارامتر در تابع چیست؟

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

def function(num1 , num2):
    print(num1 + num2)

function(1 , 2)

در مثال بالا دو پارامتر عددی گرفته شده، آنها را جمع میکند و نمایش میدهد.

نکته: در هر فراخوانی از این نوع تابع ها حتما باید پارامتر هارا جایگذاری کرد در غیر اینصورت با خطا مواجه میشویم. 

آرگومان چیست؟

به صورت ساده میتوان آرگومان و پارامتر را یکسان دانست. ولی از نظر تابع تفاوت هایی دارند.

پارامتر متغیری است که در تعریف اولیه تابع نوشته میشود.

آرگومان مقداری است که ما هنگام فراخوانی به تابع میدهیم.

پارامتر های دلخواه

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

در مثال زیر نمونه ای از این مطلب را میبینیم.

def function(*names):
  print("name is " + name[1])

function("alireza", "ali", "reza")

استفاده از key و value

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

def function(name1, name2, name3):
  print("name is " + name3)

function(name1 = "alireza", name2= "ali", name3= "reza")

استفاده از key های دلخواه

برای ترکیب دو مطلب بالا یعنی استفاده از کلید و مقدار بصورت دلخواه میتوانیم مانند مثال زیر عمل کنیم:

def function(**names):
  print("His last name is " + names["lname"])

function(fname = "alireza", lname = "chamani")

پارامتر پیشفرض

در صورتی که یک مقدار خالی از تابعی را فراخاونی کنید مقدار پیشفرضی که از قبل در تابع ایجاد کردید را اجرا میکند.

def function(name= "alireza"):
  print("I am  " + name)

function("ali")
function()
function("reza")

لیست ها در تابع

ما در داخل پارامترها میتوانیم هر داده را وارد کنیم حتی لیست ها که در ادامه مثال زیر میبینیم.

def function(users):
  for x in users:
    print(x)

name= ["alireza", "ali", "reza"]

function(users)

برگرداندن مقدار تابع

در مثال های بالا مشاهده کردید که خروجی تابع را print کردیم و نمایش دادیم.

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

این دستور مقدار انتهایی تابع را برمیگرداند و در ادامه میتوانیم این مقدار را در یک متغیر بریزیم و از آن استفاده کنیم.

def function():
  return("سلام این یک تابع است.")

x = function()
print(x)

 

نکته: توجه کنید که مقدار جدید در متغیر است و برای نمایش آن متغیر را پرینت میکنیم.

 

توسعه دهندگان
علیرضا چمنی