تابع def در پایتون چیست و چه کاربردی دارد؟ – با مثال و کد

۸۵ بازدید
آخرین به‌روزرسانی: ۱۷ اردیبهشت ۱۴۰۳
زمان مطالعه: ۱۲ دقیقه
تابع def در پایتون چیست و چه کاربردی دارد؟ – با مثال و کد

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

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

تابع def در پایتون چیست؟

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

کار با تابع def در پایتون

برای نوشتن توابع در پایتون، از کلمه کلیدی def استفاده می‌کنیم. این کلمه کلیدی به پایتون خبر می‌دهد که در حال تعریف تابعی هستیم. در این بخش به بررسی جنبه‌ها و متغیرهای گوناگون کلمه کلیدی def پرداخته‌ایم.

سینتکس تابع def در پایتون

حالت پایه سینتکس استفاده از این تابع به صورت زیر است.

1def function_name(parameters):
2    """Optional documentation string (docstring)"""
3    code to be executed
4    return [expression]

این سینتکس شامل موارد زیر می‌شود.

  1. کلمه کلیدی def
  2. نام تابع Function name
  3. دستورالعمل‌های درون تابع code to be executed
  4. پارامتر‌های مورد استفاده تابع Parameters
  5. عبارت مربوط به پایان تابع و برگرداندن داده به خارج از تابع (گزینه اختیاری) return [expression]
سه نفر مهندس در شرکت در حال کار با کامپیوتر های خود هستند.

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

در ادامه چند مدل از پیاده‌سازی توابع مختلف را با استفاده از کلمه کلیدی def می‌بینیم.

ایجاد تابع def بدون هیچ آرگومانی

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

1def python_def_keyword():
2	print("Hello")
3python_def_keyword()

خروجی حاصل از اجرای تابع ساده بالا به صورت زیر در کنسول پایتون نمایش داده می‌شود.

Hello 

چگونه با استفاده از فرادرس مهارت‌ خود را در پایتون تقویت کنیم؟

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

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

مجموعه آموزش پایتون

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

مثال برای تابع def در پایتون

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

ساخت تابع def برای محاسبه تفریق دو عدد

در این مثال، با استفاده از کلمه کلیدی def تابع سفارشی برای منها کردن ایجاد کردیم. نام این تابع python_def_subNumbers()  است. این تابع میزان اختلاف بین دو عدد را محاسبه می‌کند.

1# Python3 code to demonstrate
2# def keyword
3
4# function for subtraction of 2 numbers.
5def python_def_subNumbers(x, y):
6	return (x-y)
7
8# main code
9a = 90
10b = 50
11
12# finding subtraction
13result = python_def_subNumbers(a, b)
14
15# print statement
16print("subtraction of ", a, " and ", b, " is = ", result)

خروجی حاصل از اجرای تابع بالا به صورت زیر به کاربر نمایش داده می‌شود.

subtraction of  90  and  50  is =  40

ساخت تابع def برای محاسبه ۱۰ تا عدد اول

در این مثال نیز تابع تعریف شده‌ای با استفاده از کلمه کلیدی def نمایش داده‌ایم. این برنامه تابعی با نام python_def_prime()  را با استفاده از کلمه کلیدی def تعریف کرده که پارامتر n  را دریافت می‌کند. سپس، تابع تعریف شده، تعداد n عدد اول را از ابتدا محاسبه می‌کند و در خروجی به کاربر نمایش می‌دهد.

1# Python program to print first 10
2# prime numbers
3
4# A function name prime is defined
5# using def
6def python_def_prime(n):
7	x = 2
8	count = 0
9	while count < n:
10		for d in range(2, x, 1):
11			if x % d == 0:
12				x += 1
13		else:
14			print(x)
15			x += 1
16			count += 1
17
18# Driver Code
19n = 10
20
21# print statement
22print("First 10 prime numbers are: ")
23python_def_prime(n)

خروجی حاصل از اجرای تابع بالا به صورت زیر به کاربر نمایش داده می‌شود.

First 10 prime numbers are:  
2
3
5
7
11
13
17
19
23
27

تعریف تابعی برای محاسبه مقدار فاکتوریل پارامتر مشخص شده

در این مثال نیز تابعی را نمایش می‌دهیم که با استفاده از کلمه کلیدی def توسط برنامه‌نویس پایتون، تعریف شده است. در برنامه نمایش داده شده پایین، برنامه تابعی به نام python_def_factorial()  را با استفاده از تابع def در پایتون تعریف کرده است. این تابع پارامتر مجزایی به نام n را دریافت می‌کند. سپس مقدار فاکتوریل این عدد را محاسبه و در خروجی نمایش می‌دهد.

1# Python program to find the
2# factorial of a number
3
4# Function name factorial is defined
5def python_def_factorial(n):
6	if n == 1:
7		return n
8	else:
9		return n*python_def_factorial(n-1)
10
11# Main code
12num = 6
13
14# check is the number is negative
15if num < 0:
16	print("Sorry, factorial does not exist for negative numbers")
17elif num == 0:
18	print("The factorial of 0 is 1")
19else:
20	print("The factorial of", num, "is", python_def_factorial(num))

خروجی حاصل از اجرای تابع بالا به صورت The factorial of 6 is 720  به کاربر نمایش داده می‌شود.

میز کار برنامه نویسی کامپیوتر متشکل از ماینتورهای روشن

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

آرگومان های قابل پذیرش توسط تابع def در پایتون

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

  • متغیر‌های ساده و معمولی
  • کلمه کلیدی *args
  • کلمه کلیدی **kwargs
  • سایر توابع
  • متغیرهای خاص درون کلاس‌ها

گزینه اول که همان متغیر‌های ساده پایتونی هستند را در ابتدای مطلب با بچند مثال ساده بررسی کردیم. در ادامه بررسی موارد فهرست بالا را از گزینه دوم یعنی کلمه کلیدی *args  ادامه می‌دهیم.

استفاده از تابع def در پایتون با args*

کد آمده در پایین، برنامه پایتونی را نشان می‌دهد که با استفاده از کلمه کلیدی def تابعی به نام python_def_keyword()  تعریف کرده است. این تابع از پارامتر خاص *args  استفاده می‌کند. این کلمه کلیدی به تابع کمک می‌کند بدون محدودیت آرگومان بپذیرد. درون چنین توابعی معمولا حلقه‌ای از نوع for  برای پیمایش بر روی آرگومان‌های ارسال شده وجود دارد. در مثال پایین حلقه for بر روی متغیر *args پیمایش می‌کند. این متغیر‌ شامل همه آرگومان‌های ارسال شده به تابع می‌شود. سپس با استفاده از تابع print()  تمام آرگومان‌ها را به ترتیب در کنسول پایتون چاپ می‌کند.

1def python_def_keyword(*args):
2	for arg in args:
3		print(arg)
4python_def_keyword(1, 2, 3)
5python_def_keyword('apple', 'banana', 'cherry', 'date')
6python_def_keyword(True, False, True, False, True)

خروجی برنامه بالا به صورت زیر در کنسول پایتون نمایش داده می‌شود.

1
2
3
apple
banana
cherry
date
True
False
True
False
True

استفاده از تابع def در پایتون با kwargs**

کدی که در پایین می‌بینید برنامه پایتونی است که با استفاده از کلمه کلیدی def تابعی به نام python_def_keyword()  تعریف کرده است. در این مثال از پارامتر خاص **kwargs  استفاده کرده‌ایم. این پارامتر تابع را قادر می‌سازد تا به اندازه دلخواه آرگومان‌هایی از جنس کلمات کلیدی بپذیرد.

داخل چنین توابعی معمولا حلقه‌ای از نوع for وجود دارد که بر بروی جفت‌های ارسال شده کلید-مقداری به تابع پیمایش کند. درون این تابع، حلقه for با استفاده از متد items()  بر روی دیکشنری kwargs  پیمایش می‌کند. در نتیجه این پیمایش توالی از تاپل های پایتون به صورت کلید-مقدار (key, value)  توسط حلقه for از درون **kwargs استخراج می‌شوند. سپس برای هر تاپلی ایجاد شده حلقه متغیرهای کلید key  و مقدار value  را از هم جدا می‌کند و با استفاده از تابع print() و تبدیل داده‌ها به شکل string  این مقادیر را در کنسول پایتون به کاربر نمایش می‌دهد.

1def python_def_keyword(**kwargs):
2	for key, value in kwargs.items():
3		print(f"{key}: {value}")
4python_def_keyword(name='Alice', 
5				age=25, city='New York')
6python_def_keyword(country='Canada', 
7				language='French', population=38000000)
8python_def_keyword(color='blue', 
9				shape='square', size='large', material='wood')

خروجی حاصل از اجرای برنامه بالا در کنسول پایتون به صورت زیر نمایش داده می‌شود.

name: Alice
age: 25
city: New York
country: Canada
language: French
population: 38000000
color: blue
shape: square
size: large
material: wood

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

کیبورد نورانی قرمز رنگ و مانیتور روشن

ارسال تابع به عنوان آرگومان به ورودی تابعی دیگر

کد نمایش داده شده در پایین، برنامه پایتونی است که تابعی به نام apply_function()  تعریف می‌کند. این تابع دو پارامتر دریافت می‌کند.

  • func  : که نمایانگر یک تابع است.
  • arg  : آرگومانی را نشان می‌دهد که باید به تابع func ارسال شود.

سپس تابعی که تعریف کرده شده نتیجه فراخوانی تابع func را همراه با پارامتر arg برمی‌گرداند. در این مثال، برنامه نوشته شده با استفاده از کلمه کلیدی def تابع دیگری با نام square نیز تعریف کرده‌ است. این تابع فقط پارامتر  x  را دریافت می‌کند و مربع مقدار این پارامتر را برمی‌گرداند.

بعد از تعریف توابع بالا، برنامه تابع apply_function() را فراخوانی می‌کند. در این فراخوانی تابع square به همراه عدد 5  به عنوان آرگومان به تابع apply_function() ارسال می‌شوند و نتیجه این محاسبات از طریق تابع apply_function() به بیرون -محیط قابل دسترسی برای برنامه‌نویس- برگردانده می‌شود.

1def apply_function(func, arg):
2	return func(arg)
3def square(x):
4	return x ** 2
5result = apply_function(square, 5)
6print(result)

خروجی حاصل از اجرای برنامه بالا برابر با عدد 25  است.

مثالی از تابع def در پایتون همراه با مفهوم کلاس ها

در برنامه پیاده‌سازی شده پایین، کلاسی به نام python_def_keyword  شامل متد __init__()  تعریف شده است.

در این کلاس متد __init__() دو آرگومان به نام‌های name  و age  می‌پذیرد و دو متغیر self.name  و self.age  را به عنوان نمونه، مقداردهی اولیه می‌کند. درون این کلاس متدی به نام say_hello()  تعریف کرده‌ایم که پیغام خوشامدگویی را همراه با نام و سن شخص مخاطب در خروجی چاپ می‌کند. سپس نمونه‌ای از کلاس python_def_keyword  به نام python_def_keyword1  ایجاد کردیم. به این نمونه به عنوان نام John  و به عنوان سن عدد 30  را ارسال می‌کنیم. در نهایت هم متد say_hello()  مربوط به نمونه python_def_keyword1 را برای اجرا فراخوانی کردیم.

1class python_def_keyword:
2	def __init__(self, name, age):
3		self.name = name
4		self.age = age
5	
6	def say_hello(self):
7		print(f"Hello, my name is {self.name} " +
8			f"and I am {self.age} years old.")
9python_def_keyword1 = python_def_keyword("John", 30)
10python_def_keyword1.say_hello() 

خروجی حاصل از اجرای کد بالا به صورت زیر در کنسول پایتون نمایش داده می‌شود.

Hello, my name is John and I am 30 years old.

متغیرهای Global

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

برنامه نویس با هدفون بر روی سر پشت میز کامپیوتر نشسته است. سه مانیتور در مقابل او قرار دارند. - تابع def در پایتون

متغیر Global، متغیری است که با استفاده از عملگر =  و خارج از بلاک مربوط به تابع def ساخته شده است. این نوع از متغیر‌ها در حقیقت‌، ثابت‌های سراسری در برنامه‌ هستند. یعنی در همه جای برنامه قابل دسترسی‌اند.

مثالی از متغیرهای Global در پایتون

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

1STATES = ['ca', 'tx', 'nj', 'me']
2
3def foo():
4    for state_code in STATES:
5        ....

اما فرض کنیم به‌جای این ثابت سراسری می‌خواهیم متغیر سراسری یا Global به نام count  تعریف کنیم. به همچنین، زمانی که تابع increment()  اجرا می‌شود مقدار درون متغیر count را افزایش بدهد. در کدهای پیاده‌سازی شده پایین قطعه کد global count  را می‌بینید. مشاهده می‌کنید، برای تغییر شکل متغیر count به نوع Global در داخل تابع از کلمه کلیدی global استفاده کرده‌ایم. در این تابع نباید از متغیر count مانند متغیری محلی استفاده کرد. بلکه این متغیر از نوع Global است.

1count = 0            # create global variable "count"
2
3
4def increment():
5    global count     # declare that we want the global
6    count += 1       # access the global variable
7
8
9def print_count():
10    print('current:', count)

اگر تابعی فقط بخواهد که مقدار درون متغیر global  را بدون تغییر دادن آن بخواند، نیازی به تعریف global وجود ندارد. پایتون همیشه در ابتدا به دنبال متغیری محلی به آن نام می‌گردد و اگر متغیر محلی به آن نام پیدا نکرد یک قدم به بالاتر برداشته و به‌دنبال متغیرهای global با آن نام می‌گردد. این در واقع همان روشی است که تابع print_count()  در کد بالا استفاده می‌کند. فقط با استفاده از نام متغیر count در داخل تابع def ، به صورت خودکار به دنبال متغیر global می گردد. اگر تابعی نیاز به اعمال تغییر در متغیر global داشته باشد، استفاده از واژه global برای تعریف این نوع از متغیرها ضروری می‌شود.

در حقیقت این ایده که کار کردن با متغیر global بدون هیچ سینتکس اضافی انجام شود مانند همان روش کار با متغیر سراسری است. به مثال STATES در کد بالا توجه کنید. متغیر STATES نیز از نوع متغیرهای global است و بنابراین تابع می‌تواند آن را بخواند.

مثالی از کدنویسی در شل پایتون

کدهایی که در ادامه آمده‌اند را در فضای شل پایتون نوشته‌ایم. این کدها مثال ساده‌ای از روش کار با متغیرهای global را نمایش می‌دهد.

>>> count = 6
>>> 
>>> def increment():
...   global count
...   count += 1
... 
>>> 
>>> count
6
>>> increment()
>>> count
7
>>>
>>> special = 17
>>> def foo():
...   print('the special:', special)
... 
>>> foo()
the special: 17
>>>

مشکلات متغیرهای Global

از آنجا که متغیرهای Global ساختار black box توابع را می‌شکنند، باعث پیچیده‌تر شدن طراحی و خطایابی کدها برای برنامه‌نویسان می‌شوند. به‌جای اینکه رفتار توابع صرفا توسط پارامترهای آن تعیین شود، از وضعیت فعلی تمام متغیر‌های Global مورد استفاده تابع نیز تاثیر می‌پذیرد. این پیچیده‌گی درک و خطایابی کدها را مشکل‌تر می‌کند.

رویکرد بهتر، محدود کردن استفاده از متغیرهای Global در توابعی است که به عنوان برنامه‌نویس تعریف می‌کنیم. در درجه اول با تکیه بر پارامترها، توابع، مستقل‌تر می‌شوند. همان‌طور دیدیم این رویکرد آزمودن کدها را ساده‌تر می‌کند و باعث افزایش شفافیت کدها نیز می‌شود.

یک مهندس شاد و خندان در حال نگاه کردن به کامیوتر است - تابع def در پایتون

توابع بازگشتی در پایتون

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

1def factorial(n):
2    if n == 0:
3        return 1
4    else:
5        return n * factorial(n - 1)
6
7result = factorial(5)
8print(result)

در مثال بالا، با استفاده از تابع def در پایتون تابع بازگشتی به نام factorial  تعریف کرده‌ایم. این تابع وظیفه محاسبه مقدار فاکتوریل عدد دریافت شده را دارد. تابع خودش را تا زمان رسیدن به حالت پایه -وقتی که مقدار n برابر با 0  شود- فراخوانی می‌کند. سپس نتیجه تولید شده از تمام مقادیر قبلی را برمی‌گرداند. در این مثال تابع را با مقدار پارامتر 5  فراخوانی می‌کنیم و تابع نتیجه 120  را در خروجی نمایش می‌دهد. برای اینکه تابعی به صورت بازگشتی خود را فراخوانی کند نیازی به استفاده دوباره از کلمه def در تعریف تابع وجود ندارد.

مسیر یادگیری پروژه محور پایتون با فرادرس

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

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

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

عبارت pass   به عنوان یک نگهدارنده فضای کد در تابع def عمل می‌کند. در واقع این عبارت باعث می‌شود که تابع تعریف شده به صورت خنثی -بدون ایجاد خطا و انجام کار خاصی- وجود داشته باشد تا زمانی که کدهای مورد نظر برای آن تابع را در آینده بنویسیم. وجود عبارت pass از بروز خطا بخواطر وجود بلاک‌های خالی کد در برنامه جلوگیری می‌کند.

این عبارت معمولا وقتی استفاده می‌شود که کدهایی برای نوشته شدن برنامه‌ریزی شده‌اند اما فعلا نوشته نشده‌اند.

1def future_function():
2    pass
3
4# this will execute without any action or error
5future_function()  

جمع بندی

با مطالعه این مطلب متوجه شدیم که تابع def در پایتون ویژگی بنیادین و قدرتمندی است که به برنامه‌نویسان برای تعریف توابع سفارشی مد نظرشان کمک می‌کند. تابع def ، این عملیات را با کپسوله‌سازی کد‌ها در تابعی که نام‌گذاری شده انجام می‌دهد. با کمک این تابع، توسعه‌دهندگان نرم‌افزار به‌سادگی به ارتقای قابلیت استفاده مجدد، ماژولار بودن و سازماندهی کدها می‌پردازند. این کارها باعث تولید برنامه‌های انعطاف‌پذیرتر با کارایی بیشتر می‌شود.

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

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
GeeksforGeeksProgramizStanford UniversityRealPythonPrepBytes BlogMedium
۱ دیدگاه برای «تابع def در پایتون چیست و چه کاربردی دارد؟ – با مثال و کد»

واقعا عجیب بود

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *