1 / 41
X B Y A
Урок №7

Как использовать методы
для работы со строками и списками

Проверьте домашнее задание

Python
# 1. Вводим имена ally_1 = input('Введите имя первого союзника: ') ally_2 = input('Введите имя второго союзника: ') ally_3 = input('Введите имя третьего союзника: ') ally_4 = input('Введите имя четвёртого союзника: ') # 2. Создаем список team = [ally_1, ally_2, ally_3, ally_4] # 3. Выводим весь список одной командой print('Команда героя:', team)

Проверьте домашнее задание

Python
# 4-5. Раздаем звания: не удаляем имя, а добавляем к нему статус # Мы берем старое значение team[0] и добавляем к ним значение. team = ['Алиса', 'Боб', 'Вика', 'Гриша'] team[0] = team[0] + " (Лидер отряда)" team[-1] = team[-1] + " (Резерв)" # 6. Смотрим результат print('Обновлённая команда героя:', team) # 7. Проверяем бойцов в центре строя print('Второй союзник:', team[1]) print('Третий союзник:', team[2])

На уроке вы узнаете

  1. Что такое методы в Python и зачем их применять.
  2. Как применять методы строк.
  3. Как применять методы списков.

Методы — действия, которые выполняют объекты

Представь реальный мир, в нём есть объект «кошка». Её методы, т.е. действия: мяукать(), бежать(), есть().

Метод в Python — функция, которая находится внутри объекта и работает с его данными. Метод изменит регистр букв на обратный в строке.

Python
s = 'Я жиВу в КВАРТИРЕ нОмер 123' print(s.swapcase())
X B Y A

Методы строк

Как применить метод к строке

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

Представьте, что вам нужно заменить заглавные буквы в тексте на строчные. Примените к переменной метод lower() — добавьте к названию переменной точку и название метода. Python сохранит в новую переменную строку, в которой все символы будут в нижнем регистре.

Python
s = 'УРОК' y = s.lower() print(y)

Как изменить регистр букв с помощью методов строк

В Python есть пять методов для работы с регистром строки:

  1. capitalize()
  2. swapcase()
  3. title()
  4. lower()
  5. upper()

Метод capitalize() делает первую букву заглавной — остальные строчными

Представьте, вы нарушили правила и написали первое слово в предложении с маленькой буквы. Используйте метод capitalize(), чтобы сделать первую букву в строке заглавной, а остальные — строчными. Метод не обрабатывает числа.

Python
s = 'я хоРошо учусь в шкОле' print(s.capitalize()) s = 'я Учусь нА 4 И 5' print(s.capitalize())

Метод swapcase() «переворачивает» регистр символов в строке

Метод swapcase() меняет регистр каждой буквы на противоположный: заглавные становятся строчными, строчные — заглавными. Буква «Я» станет «я», слово «жиВу» станет «ЖИвУ», «КВАРТИРА» → «квартира», «нОмер» → «НоМЕР».

Python
s = 'Я жиВу в КВАРТИРЕ нОмер 123' print(s.swapcase())

Метод title() делает первую букву в слове заглавной

Метод title() делает первую букву каждого слова заглавной, а остальные буквы — строчными. Так часто пишут названия книг, фильмов или игр. Метод изменит строку и запишет правильно: Игра Roblox.

Python
s = 'игра roblox' print(s.title())

Метод lower() позволяет сделать все символы строчными

Представьте, что вы создаёте игру с системой логина. Пользователь может ввести своё имя так: 'Вася', 'ВАСЯ', 'вАсЯ'. Чтобы программа поняла, что это один и тот же человек, используйте lower(). В консоли будет: вася.

Python
s = 'ВАся' print(s.lower())

Метод upper() делает все символы заглавными

Представь, вы создаёте игру, в которой можно вводить читы. Игрок может написать код по-разному: 'victory', 'Victory', 'VICTORY'. Используйте метод upper(), чтобы программа распознала, что это один и тот же код. В консоли будет: VICTORY.

Python
s = 'Victory' print(s.upper())

Метод strip() удаляет пробелы

Представьте, вы вводите своё имя в форму и случайно ставите лишние пробелы. Используйте метод strip(), чтобы очистить строку от пробелов в начале и конце. Метод находит пробелы и удаляет их.

Python
s = ' Витя ' print(s.strip())

Как проверить содержание строки с помощью методов строк

В Python есть пять методов, чтобы проверить содержание строки:

  1. isdigit()
  2. isalpha()
  3. isalnum()
  4. islower()
  5. isupper()

Метод isdigit() проверяет, состоит ли строка из цифр

Метод возвращает True, если вся строка состоит из цифр, и False, если есть хотя бы один нецифровой символ. Метод проверит '12345'True, а '12a45'False.

Python
s = '12345' print(s.isdigit()) s = '12a45' print(s.isdigit())

Метод isalpha() проверяет, состоит ли строка из букв

Метод возвращает True, если строка состоит исключительно из букв. Работает с русским и английским. Возвращает False, если в строке есть цифры, пробелы или другие символы.

Python
s = 'привет' print(s.isalpha()) s = 'привет123' print(s.isalpha())

Метод isalnum() проверяет, есть ли в строке пробелы

Метод возвращает True для строк, состоящих только из букв и цифр, и False, если найдены пробелы или другие символы.

Python
s = 'абв123' print(s.isalnum()) s = 'абв 123' print(s.isalnum())

Метод islower() проверяет, есть ли прописные буквы в строке

Метод возвращает True, если все буквы в строке написаны в нижнем регистре. Метод возвращает False, если хотя бы одна буква — заглавная.

Python
s = 'собака' print(s.islower()) s = 'Собака' print(s.islower())

Метод isupper() проверяет, есть ли заглавные буквы в строке

Метод возвращает True, если все буквы в строке написаны в верхнем регистре. Метод возвращает False, если хотя бы одна буква строчная.

Python
s = 'КОШКА' print(s.isupper()) s = 'кОШКА' print(s.isupper())

Метод split() превращает строку в список

Используйте метод split(), чтобы разделить строку на части. Без аргумента метод делит по пробелам. Можно передать аргумент — символ-разделитель, например запятую. Элементы строки становятся списком: ['кола', 'сок', 'милкшейк'].

Python
text = "Как дела ?" words = text.split() print(words) text = "кола,сок,милкшейк" words = text.split(',') print(words)
X B Y A

Пришло время
задавать вопросы

Проверьте себя

  • Изменяют ли методы строк саму строку или создают новую?
  • Чем отличается результат работы upper() и lower()?
  • Что проверяет метод isdigit()?
  • Что проверяет метод islower()?
X B Y A

Перерыв

X B Y A

Методы списков

Как применить метод к списку

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

Например, вам нужно добавить элемент в конкретное место в списке. Используйте метод insert(). В скобках указываются два значения: индекс и элемент. В консоли вместо [10, 20, 30] будет [10, 15, 20, 30].

Python
numbers = [10, 20, 30] numbers.insert(1, 15) print(numbers)

Метод append() добавляет элемент в конец списка

Метод append() берёт значение из скобок и помещает его последним элементом в конце списка. Список изменяется сразу — создавать новый не нужно. В консоли будет: [1, 2, 3, 4].

Python
numbers = [1, 2, 3] numbers.append(4) print(numbers)

Метод remove() находит и удаляет элемент из списка

Используйте метод remove(), чтобы найти элемент в списке и удалить его. Если элементов с таким значением несколько, метод удалит только первый из них. В консоли будет: ['яблоко', 'груша'].

Python
fruits = ["яблоко", "банан", "груша"] fruits.remove("банан") print(fruits) marks = [5, 4, 5, 3, 5] marks.remove(5) print(marks)

Метод pop() удаляет последний элемент по умолчанию и любой другой по индексу

Используйте метод pop(), чтобы удалить элемент из списка. По умолчанию метод удалит последний элемент. Укажите в скобках индекс, чтобы удалить любой другой элемент. В консоли будет [10, 20].

Python
numbers = [10, 20, 30] numbers.pop() print(numbers)

Метод sort() сортирует список

Используйте метод sort(), чтобы отсортировать список. Числа сортируются по возрастанию, строки — по алфавиту. В консоли будет: [1, 2, 5, 8] и ['банан', 'груша', 'яблоко'].

Python
numbers = [5, 2, 8, 1] numbers.sort() print(numbers) words = ['банан', 'яблоко', 'груша'] words.sort() print(words)

Метод insert() добавляет элемент на конкретное место в списке

Используйте метод insert(), чтобы добавить элемент в конкретное место. Укажите в скобках сначала нужный индекс, а затем элемент. В консоли будет: [10, 15, 20, 30].

Python
numbers = [10, 20, 30] numbers.insert(1, 15) print(numbers)

Метод clear() очищает список

Метод clear() удаляет все элементы из списка за один раз. После его вызова список становится пустым — [].

Python
numbers = [1, 2, 3, 4] numbers.clear() print(numbers)

Метод join() объединяет части списка в одну строку

Метод join() склеивает элементы списка в строку, вставляя между ними разделитель. В примере разделитель — пробел " ". Метод трансформирует части списка в одну строку. В консоли будет: Как дела ?

Python
words = ['Как', 'дела', '?'] text = " ".join(words) print(text)
X B Y A

Пришло время
задавать вопросы

Проверьте себя

  • Сколько элементов добавит append() за один вызов?
  • Какой элемент по счёту удаляет метод pop()?
  • Какой метод полностью очистит список?
  • Какой метод добавляет элемент в список по индексу?

Выполните практическое задание

Представьте, что вы создаёте игру, где пользователь вводит имя персонажа и его класс — например, «маг», «воин», «лучник». Пользователи часто ошибаются при вводе — добавляют лишние пробелы, пишут с маленькой буквы или используют неправильный регистр.

Программа поможет пользователю автоматически исправлять ошибки в имени и классе.

Выполните практическое задание

  1. Запросите у пользователя имя персонажа и его класс.
  2. Очистите имя и класс от лишних пробелов в начале и конце.
  3. Приведите имя к правильному регистру — первая буква заглавная, остальные строчные.
  4. Сформируйте игровое имя в формате: "Имя — Класс".
  5. Получите первую и последнюю букву имени персонажа.

Сравните свой код с эталоном

Python
# 1. Запрашиваем данные у пользователя name = input("Введите имя персонажа: ") char_class = input("Введите класс персонажа: ") # 2. Очищаем от пробелов clean_name = name.strip() clean_class = char_class.strip() # 3. Приводим к правильному регистру correct_name = clean_name.title() correct_class = clean_class.title()

Сравните свой код с эталоном

Python
# 4. Формируем игровое имя correct_name = "Артём" correct_class = "Маг" game_name = f"{correct_name} — {correct_class}" # 5. Получаем первую и последнюю букву имени first_letter = correct_name[0] if correct_name else "" last_letter = correct_name[-1] if correct_name else "" # 6. Выводим результаты print(f"Очищенное имя: {correct_name}") print(f"Очищенный класс: {correct_class}") print(f"Игровое имя: {game_name}") print(f"Первая буква имени: {first_letter}") print(f"Последняя буква имени: {last_letter}")

Выполните домашнее задание

Представьте, вы создаёте меню, в котором пользователь выбирает героя игры. У вас есть строка со списком классов, но она записана с маленькой буквы: «воин, маг, вор, лучник».

Вам нужно превратить эту строку в правильный список для игры. Также в процессе разработки решили изменить состав героев: класс «Вор» убрать, класс «Целитель» добавить.

Выполните домашнее задание

  1. Запросите строку с классами.
  2. Исправьте регистр букв, чтобы все слова начинались с заглавной.
  3. Превратите строку в список.
  4. Добавьте в список новый класс — «Целитель».
  5. Удалите из списка класс «Вор».
  6. Отсортируйте список по алфавиту.
Заметки для преподавателя
слайды  ·  N заметки  ·  F полный экран  ·  Esc выход