Встроенные методы в 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)

'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)

[1, 2, 3].append(4)  # Пример вызова метода списка
  • Модификация: append(), extend(), insert(), remove(), clear()

  • Работа с элементами: pop(), index(), count()

  • Сортировка и изменение порядка: sort(), reverse(), copy()


3. Методы словарей (dict)

{'a': 1}.keys()  # Пример вызова метода словаря
  • Получение данных: keys(), values(), items()

  • Модификация: update(), clear(), pop(), popitem(), setdefault()

  • Поиск: get()


4. Методы множеств (set)

{1, 2, 3}.add(4)  # Пример вызова метода множества
  • Модификация: add(), remove(), discard(), pop(), clear(), update()

  • Операции над множествами: union(), intersection(), difference(), symmetric_difference()

  • Проверки: issubset(), issuperset(), isdisjoint()


5. Методы кортежей (tuple)

Кортежи неизменяемы, поэтому методы ограничены:

  • count()

  • index()


6. Методы файловых объектов (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