Методы строк¶
О методах¶
До сих пор мы использовали функции, которые были «сами по себе»: input,
print. В языке Python существуют специальные функции, привязанные к
объектам. Они называются методы. Сравните вызов обычной свободной функции
len() и вызов метода строки upper():
>>> s = "hello"
>>> len(s)
5
>>> s.upper()
'HELLO'
Здесь функция len в качестве своего единственного аргумента принимает
строку s и возвращает количество символов в ней. Метод upper()
связан с типом str и вызывается у объекта s с помощью точки.
Аналогично методы можно вызывать и у литералов:
>>> 'world'.upper()
'WORLD'
-
s.lower()¶ -
s.upper()¶ -
s.title()¶ Методы приводят строку к нижнему, верхнему и title регистру соответственно:
>>> 'world'.upper() 'WORLD' >>> 'HELLO'.lower() 'hello' >>> 'hello'.upper() 'HELLO' >>> 'hello'.title() 'Hello'
-
s.count(sub)¶ Возвращает количество вхождений подстроки
subв строкуs.
-
s.find(sub)¶ Возвращает минимальный индекс вхождения подстроки
subв строкуs:>>> 'otto'.find('t') 1
-
s.rfind(sub)¶ Возвращает максимальный индекс вхождения подстроки
subв строкуs:>>> 'otto'.rfind('t') 2
-
ljust(width)¶ Возвращает строку, выровненную по левой границе поля ширины
width. Строка дополняется пробелами справа:>>> 'hello'.ljust(10) 'hello '
-
rjust(width)¶ Возвращает строку, выровненную по правой границе поля ширины
width. Строка дополняется пробелами слева:>>> 'hello'.rjust(10) ' hello'
-
replace(old, new)¶ Возвращает строку, в которой все вхождения подстроки
oldзаменены на подстрокуnew.
Задачи¶
Пользователь вводит фамилию, имя и отчество. Приложение должно вывести фамилию и инициалы. Пример:
Фамилия: Ершов Имя: Андрей Отчество: Петрович Ершов А. П.
Доработать приложение из предыдущей задачи так, чтобы программа исправляла регистр символов. Пример:
Фамилия: ерШоВ Имя: андрей Отчество: петрович Ершов А. П.
Пользователь вводит слово. Подсчитать количество символов ‘a’ в нем. Пример:
word: abracadabra 5
Пользователь вводит строку. Нужно удалить из нее первое слово. Разделителем слов считать пробел. Пример:
> Hello, World! World
Пользователь вводит строку. Нужно удалить из нее последнее слово.
Пользователь вводит строку, содержащую два слова. Приложение выводит их в обратном порядке. Пример:
Harry Potter Potter Harry
Пользователь вводит строку и два слова. Приложение заменяет все вхождения первого слова на второе. Пример:
> To be or not to be. Find: be Replace: eat To eat or not to eat.
Приложение принимает на вход строку и заменяет все вхождения буквы «ё» на букву «е».
Написать приложение, выполняющее транслитерацию введенного слова. Пример:
> Иван Ivan
Пользователь вводит адрес электронной почты, нужно вывести отдельными строками почтовый логин и домен:
> vasya@mail.ru Login: vasya Domain: mail.ru