DamiRocK

Python: объект строки, вызов метода и нормализация регистра

Вызываем lower() на строке и сравниваем синтаксис метода с функцией len(). Уточняем, что методы строк возвращают разные типы и не изменяют исходный текст.

Метод вызывается на объекте

Строки Python — объекты с собственными операциями. В text.upper() слева стоит объект, после точки — имя метода, скобки выполняют вызов. Метод использует строку, на которой вызван, даже если дополнительных аргументов нет.

Для сравнения len(text) — вызов функции с объектом в аргументе. Это два способа организации операций; функцию len можно применять не только к строкам.

Задание источника

Пользовательский текст содержит буквы разного регистра. Приведите его к нижнему регистру и выведите:

text = "the QUICK brown FOX jumps OVER the lazy DOG"
lower_text = text.lower()
print(lower_text)

Ответ — the quick brown fox jumps over the lazy dog. Исходная переменная text по-прежнему содержит прежний вариант, поскольку преобразование строки не меняет её на месте.

Методы с аргументами

print("abracadabra".replace("a", "o"))  # obrocodobro
print("   hi   ".strip())               # hi

Первый вызов получает искомую подстроку и замену. Второй без аргументов убирает краевые пробельные символы. Семантика параметров определяется конкретным методом, а не общим наличием круглых скобок.

Что возвращается

В исходном объяснении говорится, что методы строк всегда возвращают новую строку. Это слишком общее утверждение: count() возвращает целое, startswith() — логическое значение, split() — список. Именно методы преобразования вроде lower возвращают строковый результат без изменения исходного значения.

Не следует переносить свойства строк на все объекты: у изменяемых коллекций могут быть методы, меняющие их содержимое. Этот урок ограничен начальным использованием строковых методов, а не полной моделью объектно-ориентированного программирования.

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Упражнение сохранено; типы результатов методов уточнены.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.