متد یا Method، یک تابع است که به یک Object مربوط میشود و برای انجام یک عملیات مشخص روی آن Object استفاده میشود. به زبان ساده، اگر Object را یک داده در نظر بگیریم، متد کاری است که آن داده میتواند انجام دهد.
متدها فقط مخصوص Data Structureها نیستند. انواع مختلف داده و Objectها میتوانند متدهای مخصوص خودشان را داشته باشند. برای مثال، رشتهها، عددها، لیستها، دیکشنریها و مجموعهها همگی میتوانند متد داشته باشند.
متدها معمولاً با استفاده از نقطه بعد از نام Object نوشته میشوند:
name = “python”
name.upper()
در این مثال، “upper()” یک متد مربوط به رشته است و حروف رشته را به حروف بزرگ تبدیل میکند.
متدها کجا استفاده میشوند؟
هر نوع دادهای که متد داشته باشد، متدهای مخصوص خودش را دارد. این متدها برای انجام عملیات مختلف روی آن داده استفاده میشوند.
برای مثال، در رشتهها میتوان از متدهایی مثل “upper()” برای بزرگ کردن حروف، “lower()” برای کوچک کردن حروف، “replace()” برای جایگزین کردن بخشی از متن و “split()” برای جدا کردن متن استفاده کرد.
در لیستها، متدهایی مثل “append()” برای اضافه کردن یک عنصر، “remove()” برای حذف یک عنصر، “pop()” برای حذف یک عنصر و “sort()” برای مرتب کردن عناصر استفاده میشوند.
در دیکشنریها، متدهایی مثل “keys()” برای دریافت کلیدها، “values()” برای دریافت مقدارها و “items()” برای دریافت کلید و مقدار به صورت جفتی کاربرد دارند.
در مجموعهها نیز متدهایی مثل “add()” برای اضافه کردن یک عنصر و “remove()” برای حذف آن استفاده میشوند.
حتی بعضی از نوعهای عددی نیز متد دارند. برای مثال:
number = 10
number.bit_length()
متد “bit_length()” تعداد بیتهای لازم برای نمایش عدد را مشخص میکند.
تفاوت Method و Function
متد و Function هر دو میتوانند یک کار مشخص را انجام دهند، اما تفاوت مهمی در نحوهی استفاده از آنها وجود دارد.
یک Function میتواند به صورت مستقل فراخوانی شود:
len(“Python”)
اما Method معمولاً از طریق یک Object و با استفاده از نقطه فراخوانی میشود:
“Python”.upper()
در مثال اول، “len()” یک تابع است؛ اما در مثال دوم، “upper()” یک متد مربوط به رشته است.
ارتباط متد با Data Type و Data Structure
متدها مستقیماً به Data Structureها محدود نمیشوند. یک Data Type مثل “str” یا “int” میتواند متد داشته باشد و Data Structureهایی مثل “list”، “dict” و “set” نیز متدهای مخصوص خودشان را دارند.
بنابراین بهتر است این سه مفهوم را جدا از هم در نظر بگیریم:
Data Type: مشخص میکند داده چه نوعی است.
Data Structure: مشخص میکند دادهها چگونه سازماندهی و نگهداری شوند.
Method: عملیاتی است که یک Object میتواند روی خودش یا دادههای مرتبط با خودش انجام دهد.
در نتیجه، متدها یکی از ابزارهای مهم پایتون برای کار با Objectها هستند و به ما اجازه میدهند عملیات مختلف را به شکل سادهتر و منظمتر روی دادهها انجام دهیم.