تابع در پایتون، آشنایی جامع با توابع پایتون (بخش اول)


آشنایی کامل با توابع در زبان پایتون (بخش اول)
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.

توابع در پایتون- قسمت اول

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

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

ایجاد توابع در پایتون بسیار آسان است. نام توابع در پایتون قوانینی مشابه با نام متغیرها دارند. تابع بلوکی از عبارات مرتبط است که برای انجام یک کار محاسباتی یا منطقی ایجاد شده است.
سینتکس تمامی توابع در پایتون به صورت زیر می باشد:

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

با توجه به سینتکسی که در بالا نشان دادیم شما عبارات خاصی را مشاهده می کنید. با تعریف این عبارات بیشتر متوجه این مطلب خواهید شد. همانطور که مشاهده می کنید، در ابتدای تعریف، از کلمه کلیدی def استفاده کرده ایم. این کلمه برای شروع هدر تابع استفاده می شود. 
در ادامه به کلمه name  برمی خوریم. این کلمه برای نامگذاری توابع در پایتون استفاده می شود. نکته ای که در این قسمت باید به آن توجه کنید این است که نام تابع باید منحصر به فرد باشد و هیچ دو تابعی با نام یکسان در یک پروژه نباید وجود داشته باشد.

بعد از نام به سراغ پارامتر ها می رویم. با استفاده از پارامتر ها، مقدار دهی به توابع را انجام می دهیم. این بخش می تواند اختیاری باشد. پایان هدر توابع در پایتون نیز با قرار دادن (:) مشخص می کنیم. 
بعد از هدر شما باید بدنه تابع خود را بنویسید. بدنه توابع در پایتون شامل یک یا چند عبارت معتبر است. و در نهایت شما به یک  یک دستور بازگشت اختیاری برای برگرداندن مقداری از تابع احتیاج دارید.
یک نونه بسیار ساده از تابع را در ادامه مشاهده می کنید:

# A simple Python function 
def fun():
  print("Welcome to Darsman Academy")

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

پس از ایجاد توابع در پایتون، می توانیم آن ها را با استفاده از نام تابع و به دنبال آن پرانتزی حاوی پارامترهای آن تابع خاص فراخوانی کنیم.
به مثال زیر توجه کنید:

# A simple Python function
def fun():
  print("Welcome to Darsman Academy")       
# Driver code to call a function
fun()

خروجی این قطعه کد به صورت زیر می باشد:

Welcome to Darsman Academy

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

# some more functions
def is_prime(n):
    if n in [2, 3]:
        return True
    if n % 2 == 0:
        return False
    r = 3
    while r * r <= n:
        if n % r == 0:
            return False
        r += 2
    return True
print(is_prime(78), is_prime(79))

خروجی این قطعه کد نیز به صورت زیر می شود:

False True

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

همانطور که در بالا خواندید، پارامتر ها مقادیری هستند که در داخل پرانتز تابع ارسال می شوند. یک تابع می تواند دارای هر تعداد پارامتر باشد که با استفاده از کاما از یکدیگر جدا شده اند. 
مثالی که در ادامه آورده ایم تابعی است که زوج یا فرد بودن اعداد را مشخص می کند:

# A simple Python function to check
# whether x is even or odd
def evenOdd(x):
    if (x % 2 == 0):
        print("even")
    else:
        print("odd")
# Driver code to call the function
evenOdd(2)
evenOdd(3)

این تابع دو خروجی دارد:

even
odd


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

نظرات
کاربر درسمن
meisam

برای دوستان اگر سوالی که کردم جوابش رو خواستن بالاخره فهمیدم که به چه صورت بود دکمه control رو نگه دارین روی تابع یا کلاس

کاربر درسمن
meisam

سلام و خسته نباشین مهندس چطوری اطلاعات تابع len و که از قبل نوشته شده بود رو نشون داد ؟ تقریبا دقیقه 18

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
فرهاد حسامی

باسلام و تبریک سال نو مباحث ارائه شده توسط جناب مهندس عباسی بسیار شیوا و روان و با جزئیات خوب و مناسب می باشد . ضمن تشکر از ایشان و سایر عوامل کاش بعد از هر مبحث تمریناتی برای دانشجویان دوره در نظر گرفته میشد تا مباحث تدریس شده با درک بیشتر و بهتری صورت می گرفت.

پشتیبانی 1
پشتیبانی 1

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


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


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 892 دقیقه
حجم دوره : 2/60 گیگابایت
سطح مهارت : مقدماتی تا متوسط
وضعیت دوره : پایان یافته
تعداد دانشجویان : 8872
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....