جلسه هجدهم

جلسه هجدهم

توابع

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

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

def function_name(parameters):

# کد تابع

return value

توضیح قسمت های مختلف:

1. def: کلمه کلیدی برای تعریف تابع.

2. function_name: نام تابع که باید منحصر به فرد باشد.

3. parameters: اختیاری، پارامترهای ورودی تابع که به آن ها نیاز دارد.

4. # کد تابع: دستورات و کدی که تابع باید انجام دهد.

5. return: اختیاری، مقداری که تابع باید برگرداند.

برخی ویژگی های مهم توابع:

– توابع می توانند پارامترهای ورودی داشته باشند و مقادیر خروجی را برگردانند.

– توابع می توانند تابع دیگری را صدا بزنند (فراخوانی تابع).

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

– توابع می توانند مقادیر نامحدود (args) و کلیدی (kwargs) را به عنوان پارامتر بپذیرند.

– توابع می توانند دکیومنت داشته باشند که شامل توضیحات درباره کاربرد آن ها است.

مثال های ساده از توابع:

در مثال اول، تابع greet() یک سلام ساده به کاربر نشان می دهد. در مثال دوم، تابع add() دو عدد را جمع می کند و مقدار حاصل را برمی گرداند.

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

مثال 1: تابع جمع دوعدد را بنویسید.

مثال 2: تابع محاسبه مساحت مستطیل را بنویسید.

مثال 3: تابعی برای استخراج حروف اول کلمات در جمله بنویسید.

append()(درج)

append() یک متد در پایتون است که به شما امکان می دهد تا یک عنصر جدید را به انتهای یک لیست اضافه کنید. وقتی که شما append() را روی یک لیست فراخوانی می کنید، عنصر جدید به انتهای لیست اضافه می شود. این به معنی افزایش طول لیست به اندازه یک است. append() یک متد درجا (in-place) است، به این معنی که تغییرات را مستقیماً روی لیست اصلی اعمال می کند و نیازی به اختصاص دادن مجدد متغیر نیست.

ساختار کلی استفاده از append() به صورت زیر است:

list.append(element)

list به لیستی که می خواهید عنصر جدید را به آن اضافه کنید اشاره می کند.

element عنصری است که می خواهید به انتهای لیست اضافه کنید.

مثال های استفاده از append():

در مثال اول، لیست fruits با عنصر "orange" به انتهای آن افزوده می شود.

در مثال دوم، لیست numbers با عنصر 4 به انتهای آن افزوده می شود.

در مثال سوم، یک لیست خالی empty_list ایجاد شده و سپس عنصر "new element" به انتهای آن افزوده می شود.

()insert(درج در موقعیت خاص)

insert() یک متد در پایتون است که به شما امکان می دهد تا یک عنصر جدید را در موقعیت خاصی در یک لیست قرار دهید. وقتی که شما insert() را روی یک لیست فراخوانی می کنید، عنصر جدید در موقعیت مشخص شده قرار می گیرد و سایر عناصر به سمت راست جابه جا می شوند. این به معنی افزایش طول لیست به اندازه یک است. insert() یک متد درجا (in-place) است، به این معنی که تغییرات را مستقیماً روی لیست اصلی اعمال می کند و نیازی به اختصاص دادن مجدد متغیر نیست.

ساختار کلی استفاده از insert() به صورت زیر است:

list.insert(index, element)

list به لیستی که می خواهید عنصر جدید را به آن اضافه کنید اشاره می کند.

index موقعیتی است که عنصر جدید باید در آن قرار گیرد.

element عنصری است که می خواهید در موقعیت مشخص شده قرار دهید.

مثال های استفاده از insert():

در مثال اول، عنصر "orange" در موقعیت 1 (بعد از "apple") در لیست fruits قرار داده می شود.

در مثال دوم، عنصر 0 در موقعیت 0 (ابتدای لیست) در لیست numbers قرار داده می شود.

در مثال سوم، عنصر "new element" در موقعیت 0 (ابتدای لیست) در لیست خالی empty_list قرار داده می شود.

باشد، با کمال میل متدهای del، pop() و remove() در پایتون را به صورت جداگانه توضیح می دهم:

del (حذف):

del یک عملگر در پایتون است که به شما امکان می دهد تا عناصر را از لیست ها، دیکشنری ها و سایر ساختارهای داده ای حذف کنید.

– ساختار استفاده از del به صورت زیر است:

del list[index]

del dictionary[key]

– با استفاده از del می توانید یک عنصر در موقعیت خاص را از لیست حذف کنید یا یک کلید-مقدار را از دیکشنری حذف نمایید.

del به طور مستقیم ساختار داده را تغییر می دهد و نیاز به اختصاص دادن مجدد متغیر ندارد.

– مثال:

pop() (خارج کردن):

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

– ساختار استفاده از pop() به صورت زیر است:

list.pop(index)

– با استفاده از pop() می توانید عنصری را در موقعیت خاص از لیست خارج کنید. اگر index ارائه نشود، pop() آخرین عنصر لیست را خارج می کند.

pop() علاوه بر حذف عنصر از لیست، مقدار آن را نیز برمی گرداند.

pop() به طور مستقیم ساختار داده را تغییر می دهد و نیاز به اختصاص دادن مجدد متغیر ندارد.

– مثال:

remove() (حذف):

remove() یک متد در پایتون است که به شما امکان می دهد تا عناصر را از لیست ها حذف کنید.

– ساختار استفاده از remove() به صورت زیر است:

list.remove(element)

– با استفاده از remove() می توانید عنصری را از لیست حذف کنید. اگر عنصر مورد نظر در لیست وجود نداشته باشد، خطای ValueError ایجاد می شود.

remove() به طور مستقیم ساختار داده را تغییر می دهد و نیاز به اختصاص دادن مجدد متغیر ندارد.

– مثال:

() len (طول):

len() یک تابع (bilt_in) داخلی در پایتون است که به شما امکان می دهد تا طول و اندازه یک ساختار داده را به دست آورید.

– ساختار استفاده از len() به صورت زیر است:

len(object)

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

len() مقدار عددی که نشان دهنده تعداد اعضای ساختار داده است را برمی گرداند.

– مثال:

sort() (مرتب سازی):

sort() یک متد در پایتون است که به شما امکان می دهد تا لیست ها را به ترتیب صعودی یا نزولی مرتب کنید.

– ساختار استفاده از sort() به صورت زیر است:

list.sort(reverse=False)

reverse پارامتر اختیاری است که اگر True باشد، لیست به ترتیب نزولی مرتب می شود.

sort() به طور مستقیم عناصر لیست را تغییر می دهد و نیاز به اختصاص دادن مجدد متغیر ندارد.

– مثال:

reverse() (معکوس کردن):

reverse() یک متد در پایتون است که به شما امکان می دهد تا ترتیب عناصر در یک لیست را معکوس کنید.

– ساختار استفاده از reverse() به صورت زیر است:

list.reverse()

reverse() به طور مستقیم عناصر لیست را معکوس می کند و نیاز به اختصاص دادن مجدد متغیر ندارد.

– مثال:

range() (دامنه):

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

– ساختار استفاده از range() به صورت زیر است:

range(start, stop, step)

start (اختیاری): عدد اولیه در دامنه (پیش فرض 0 است).

stop: عدد آخری در دامنه (اما خود این عدد شامل نمی شود).

step (اختیاری): مقدار افزایش بین هر عدد (پیش فرض 1 است).

range() یک شیء ایتراتور را برمی گرداند که می توان آن را به لیست تبدیل کرد.

– مثال:

min() (کمترین):

min() یک تابع داخلی در پایتون است که به شما امکان می دهد تا کمترین مقدار در یک ساختار داده را پیدا کنید.

– ساختار استفاده از min() به صورت زیر است:

iterable می تواند یک لیست، تاپل، رشته یا هر ساختار داده ایتراتور دیگری باشد.

min() کوچکترین مقدار موجود در ورودی را برمی گرداند.

– مثال:

max() (بیشترین):

max() یک تابع داخلی در پایتون است که به شما امکان می دهد تا بیشترین مقدار در یک ساختار داده را پیدا کنید.

– ساختار استفاده از max() به صورت زیر است:

max(iterable)

iterable می تواند یک لیست، تاپل، رشته یا هر ساختار داده ایتراتور دیگری باشد.

arg1, arg2, *args می تواند مجموعه ای از آرگومان های جداگانه باشد.

max() بزرگترین مقدار موجود در ورودی را برمی گرداند.

– مثال:

sum() (جمع):

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

– ساختار استفاده از sum() به صورت زیر است:

sum(iterable)

iterable می تواند یک لیست، تاپل، رشته یا هر ساختار داده ایتراتور دیگری باشد.

sum() مجموع عناصر موجود در ورودی را برمی گرداند.

– مثال:

حتما، با کمال میل متد های اسلایسینگ (Slicing) در پایتون را توضیح می دهم.

اسلایسینگ به شما امکان می دهد تا بخش های خاصی از یک ساختار داده مانند لیست، تاپل یا رشته را انتخاب کنید. این ویژگی بسیار قدرتمند و کاربردی است.

ساختار کلی اسلایسینگ به صورت زیر است:

sequence[start:stop:step]

در اینجا:

sequence می تواند نام لیست، تاپل یا رشته باشد.

start (اختیاری): شروع اسلایس (اگر مقداردهی نشود، پیش فرض 0 است).

stop (اختیاری): پایان اسلایس (اما خود این عنصر شامل نمی شود).

step (اختیاری): گام بین عناصر اسلایس (اگر مقداردهی نشود، پیش فرض 1 است).

چند مثال برای اسلایسینگ

اسلایسینگ بسیار قدرتمند و مفید است و می تواند به شما در دستکاری و انتخاب بخش های خاصی از ساختارهای داده کمک کند. این ویژگی به طور گسترده ای در برنامه نویسی پایتون استفاده می شود.