Встроенные методы в Python
Разница между функциями и методами
В Python разница между функциями и методами заключается в том, как они вызываются и на что они действуют.
1. Функции
Что это? Функции — это независимые блоки кода, которые выполняют определённую задачу.
Как вызываются? Вызываются напрямую, передавая аргументы в скобках:
function_name(args)
.Пример:
def add(a, b): return a + b result = add(2, 3) # Вызов функции print(result) # Вывод: 5
Контекст: Функции не зависят от какого-либо объекта (если они не встроены в класс).
2. Методы
Что это? Методы — это функции, связанные с объектами. Они действуют на данные (состояние) конкретного объекта.
Как вызываются? Вызываются через объект с использованием точки:
object.method_name(args)
.Пример:
class Calculator: def add(self, a, b): return a + b calc = Calculator() # Создание объекта result = calc.add(2, 3) # Вызов метода print(result) # Вывод: 5
Контекст: Методы всегда принимают как минимум один аргумент (
self
для методов экземпляра), который ссылается на текущий объект.
Основные различия:
Критерий
Функции
Методы
Зависимость от объекта
Не связаны с объектами
Привязаны к объектам или классам
Синтаксис вызова
function_name(args)
object.method_name(args)
Тип данных
Просто функция
Функция, определённая внутри класса
Контекст
Работает с переданными аргументами
Имеет доступ к данным объекта через self
Методы как специальные функции
Методы можно рассматривать как функции, которые становятся "методами" только при их определении внутри класса и вызове через объект.
Пример:
class Person:
def greet(self): # Это метод, потому что он определён внутри класса
return "Hello!"
p = Person()
print(p.greet()) # Вызов метода через объект
Таким образом, метод — это подвид функции, связанный с объектами или классами.
В Python встроенные методы обычно относятся к методам, которые предоставляются стандартными объектами (например, строками, списками, словарями и т.д.), а также к методам, встроенным в сам язык для выполнения специальных задач.
Вот основные категории встроенных методов:
1. Методы строк (str
)
str
)'abc'.capitalize() # Пример вызова метода строки
Форматирование:
capitalize()
,title()
,lower()
,upper()
,swapcase()
,casefold()
Работа с содержимым:
startswith()
,endswith()
,find()
,rfind()
,index()
,rindex()
Модификация:
strip()
,lstrip()
,rstrip()
,replace()
,zfill()
,join()
Проверки:
isalpha()
,isdigit()
,isalnum()
,isspace()
,isupper()
,islower()
Разбиение и объединение:
split()
,rsplit()
,partition()
,rpartition()
,splitlines()
2. Методы списков (list
)
list
)[1, 2, 3].append(4) # Пример вызова метода списка
Модификация:
append()
,extend()
,insert()
,remove()
,clear()
Работа с элементами:
pop()
,index()
,count()
Сортировка и изменение порядка:
sort()
,reverse()
,copy()
3. Методы словарей (dict
)
dict
){'a': 1}.keys() # Пример вызова метода словаря
Получение данных:
keys()
,values()
,items()
Модификация:
update()
,clear()
,pop()
,popitem()
,setdefault()
Поиск:
get()
4. Методы множеств (set
)
set
){1, 2, 3}.add(4) # Пример вызова метода множества
Модификация:
add()
,remove()
,discard()
,pop()
,clear()
,update()
Операции над множествами:
union()
,intersection()
,difference()
,symmetric_difference()
Проверки:
issubset()
,issuperset()
,isdisjoint()
5. Методы кортежей (tuple
)
tuple
)Кортежи неизменяемы, поэтому методы ограничены:
count()
index()
6. Методы файловых объектов (file
)
file
)file = open('example.txt')
file.read() # Пример вызова метода файла
Чтение:
read()
,readline()
,readlines()
Запись:
write()
,writelines()
Работа с курсором:
seek()
,tell()
Другие:
close()
,flush()
7. Методы классов и объектов
Общие методы объектов:
__init__()
,__str__()
,__repr__()
,__len__()
,__call__()
Специальные методы для перегрузки:
__add__()
,__sub__()
,__mul__()
,__getitem__()
,__setitem__()
8. Встроенные функции Python
Хотя это не методы, важно упомянуть, что Python предоставляет около 70 встроенных функций, например:
Last updated