Методы и функции
Мы уже знакомы с некоторыми встроенными функциями: min()
, max()
, len()
, int()
, float()
и т.д. Метод — специализированная функция, тесно связанная с объектом. Как и функция, метод вызывается для выполнения отдельной задачи, но он вызывается для определенного объекта и “знает” о своем целевом объекте во время выполнения.
Таким образом: метод — функция, применяемая к объекту. В данном случае к строке. Метод вызывается в виде имя_объекта.имя_метода(параметры)
.
Например, s.find('e')
— это применение к строке s
метода find
с одним параметром 'e'
.
Методы строкового типа данных можно разделить на три группы:
- Конвертация регистра;
- Поиск и замена;
- Классификация символов.
Конвертация регистра
Методы в этой группе выполняют преобразование регистра для строк.
Метод capitalize()
Метод capitalize()
возвращает копию строки s
, в которой первый символ имеет верхний регистр, а все остальные символы имеют нижний регистр.
Результатом выполнения следующего кода:
s = 'foO BaR BAZ quX'
print(s.capitalize())
будет:
Foo bar baz qux
Символы, не являющиеся буквами алфавита, остаются неизменными. Результатом выполнения следующего кода:
s = 'foo123#BAR#.'
print(s.capitalize())
будет:
Foo123#bar#.
Метод swapcase()
Метод swapcase()
возвращает копию строки s
, в которой все символы, имеющие верхний регистр, преобразуются в символы нижнего регистра и наоборот.
Результатом выполнения следующего кода:
s = 'FOO Bar 123 baz qUX'
print(s.swapcase())
будет:
foo bAR 123 BAZ Qux
Метод title()
Метод title()
возвращает копию строки s
, в которой первый символ каждого слова переводится в верхний регистр.
Результатом выполнения следующего кода:
s = 'the sun also rises'
print(s.title())
будет:
The Sun Also Rises
Этот метод использует довольно простой алгоритм: он не пытается различить важные и неважные слова и не обрабатывает аббревиатуры и апострофы. Результатом выполнения следующего кода:
s = "what's happened to ted's IBM stock?"
print(s.title())
будет:
What'S Happened To Ted'S Ibm Stock?
Метод lower()
Метод lower()
возвращает копию строки s
, в которой все символы имеют нижний регистр.
Результатом выполнения следующего кода:
s = 'FOO Bar 123 baz qUX'
print(s.lower())
будет:
foo bar 123 baz qux
Метод upper()
Метод upper()
возвращает копию строки s
, в которой все символы имеют верхний регистр.
Результатом выполнения следующего кода:
s = 'FOO Bar 123 baz qUX'
print(s.upper())
будет:
FOO BAR 123 BAZ QUX
Одно очень важное замечание о методах данной категории состоит в том, что они не изменяют исходную строку. Если вы хотите изменить строку s
, нужно написать код: s = s.lower()
. На самом деле тут вы создаёте совсем другой объект в памяти компьютера, просто он со старым названием s
.
Примечание
Англо-русский словарик:
capitalize — писать прописными буквами, закрепить.
swapcase — обменять регистр. swap — гл. обмениваться, case — случай, регистр, падеж, дело, расследование...
title — заголовок, титул.
lower — нижний.
upper — верхний.