Найти в Дзене
КУЗИНОБИТ

Урок 3: Строки в Python.

Оглавление

Добро пожаловать на третий урок нашего курса по программированию на Python! В этом уроке мы подробно изучим строки, которые являются одним из основных типов данных в Python. Мы рассмотрим, что такое строки, как их создавать, объединять (конкатенация), форматировать, а также познакомимся с основными методами для работы со строками.\

В данную статью добавлены ссылки на github в каждом примере. Так же общая ссылка на github для данного урока:
python_course/lesson_3 at main · kuzinobit/python_course

Что такое строки?

Строка в Python — это последовательность символов, заключённых в одинарные ('...'), двойные ("...") или тройные кавычки ('''...''' или """..."""). Строки используются для хранения и обработки текстовой информации.

Примеры строк:

python_course/lesson_3/string_example.py at main · kuzinobit/python_course
Примеры строк в Python.
Примеры строк в Python.
"Hello, World!"
'Python — это здорово!'
"""Это многострочная
строка"""
'''Ещё один
пример многострочной
строки'''

Создание строк.

python_course/lesson_3/create_strings.py at main · kuzinobit/python_course
Пример создания строк.
Пример создания строк.

Строки можно создавать, присваивая текст переменным или напрямую используя их в выражениях.

Присваивание строк переменным:

# Присваивание строк переменным
message = "Привет, мир!"
name = 'Михаил'

Многострочные строки:

Многострочные строки создаются с помощью тройных кавычек.

# Многострочные строки
text = """Это пример
многострочной строки.
Она может занимать несколько
строк."""

Экранирование символов:

Если нужно использовать кавычки внутри строки, можно воспользоваться экранированием с помощью обратного слэша \.

# Экранирование символов
quote = 'Она сказала: "Привет!"'
escaped_quote = "Он ответил: \"Как дела?\""

Конкатенация строк.

Пример конкатенации:

python_course/lesson_3/concatenation.py at main · kuzinobit/python_course
Пример конкатенации строк.
Пример конкатенации строк.

Конкатенация — это операция объединения строк. В Python это делается с помощью оператора +.

first_name = "Иван"
last_name = "Петров"
full_name = first_name + " " + last_name
print("Полное имя:", full_name)

Конкатенация с повторением:

python_course/lesson_3/multi_concatenation.py at main · kuzinobit/python_course
Пример конкатенации с повторением.
Пример конкатенации с повторением.

Оператор * позволяет повторять строку заданное количество раз.

line = "=" * 10
print(line)

Форматирование строк.

Форматирование строк позволяет вставлять значения переменных в строку. В Python существует несколько способов форматирования строк.

Старый способ с оператором %:

python_course/lesson_3/format_1.py at main · kuzinobit/python_course
Пример форматирования строки с использованием %.
Пример форматирования строки с использованием %.
name = "Михаил"
age = 30
print("Меня зовут %s, мне %d лет." % (name, age))

Метод str.format():

python_course/lesson_3/format_2.py at main · kuzinobit/python_course
Пример форматирования строки с использованием format().
Пример форматирования строки с использованием format().
name = "Михаил"
age = 30
print("Меня зовут {}, мне {} лет.".format(name, age))

Можно также использовать позиции или имена аргументов:

print("Меня зовут {0}, мне {1} лет.".format(name, age))
print("Меня зовут {имя}, мне {возраст} лет.".format(имя=name, возраст=age))

F-строки (f-strings):

python_course/lesson_3/format_3.py at main · kuzinobit/python_course
Пример форматирования с использованием F-строк.
Пример форматирования с использованием F-строк.

Начиная с Python 3.6, можно использовать f-строки для форматирования.

name = "Михаил"
age = 30
print(f"Меня зовут {name}, мне {age} лет.")

F-строки позволяют вставлять выражения непосредственно в строку:

print(f"Через год мне будет {age + 1} лет.")

Форматирование чисел:

python_course/lesson_3/format_number.py at main · kuzinobit/python_course
Пример форматирования числа для отображения определенного количества знаков после запятой.
Пример форматирования числа для отображения определенного количества знаков после запятой.

Можно задавать формат отображения чисел, например, количество знаков после запятой.

pi = 3.1415926535
print(f"Число Pi: {pi:.2f}")

Методы строк.

Строки в Python являются объектами, которые имеют множество методов для работы с текстом. *Данная тема будет освещена детальнее на более поздних уроках (ООП).

Изменение регистра:

python_course/lesson_3/change_case.py at main · kuzinobit/python_course
Пример использования методов для изменения регистра.
Пример использования методов для изменения регистра.
  • str.lower() — преобразует строку в нижний регистр.
  • str.upper() — преобразует строку в верхний регистр.
  • str.capitalize() — делает первую букву заглавной.
  • str.title() — делает заглавными первые буквы каждого слова.

Пример:

text = "программирование на python"
print(text.lower()) # программирование на python
print(text.upper()) # ПРОГРАММИРОВАНИЕ НА PYTHON
print(text.capitalize()) # Программирование на python
print(text.title()) # Программирование На Python

Поиск и замена:

python_course/lesson_3/find_change.py at main · kuzinobit/python_course
Пример использования методов для поиска и замены слов в строках.
Пример использования методов для поиска и замены слов в строках.
  • str.find(substring) — возвращает индекс первого вхождения подстроки или -1, если не найдено.
  • str.replace(old, new) — заменяет вхождения подстроки old на new.

Пример:

text = "Я люблю Python"
index = text.find("Python")
print("Индекс слова 'Python':", index)
new_text = text.replace("люблю", "изучаю")
print(new_text)

Разделение и объединение строк:

python_course/lesson_3/separation_unification.py at main · kuzinobit/python_course
Пример разделения и объединения строк.
Пример разделения и объединения строк.
  • str.split(separator) — разделяет строку на список подстрок по заданному разделителю.
  • separator.join(list) — объединяет элементы списка в строку, вставляя между ними разделитель.

Пример:

fruits = "яблоко,банан,вишня"
fruit_list = fruits.split(",")
print(fruit_list)
new_fruits = "; ".join(fruit_list)
print(new_fruits)

Проверка содержимого строки:

python_course/lesson_3/check_content.py at main · kuzinobit/python_course
Пример проверки строки.
Пример проверки строки.
  • str.startswith(prefix) — проверяет, начинается ли строка с заданного префикса.
  • str.endswith(suffix) — проверяет, заканчивается ли строка заданным суффиксом.
  • str.isdigit() — проверяет, состоит ли строка из цифр.
  • str.isalpha() — проверяет, состоит ли строка из букв.
  • str.isalnum() — проверяет, состоит ли строка из букв и цифр.

Пример:

text = "Python3"
print(text.startswith("Py")) # True
print(text.endswith("3")) # True
print(text.isdigit()) # False
print("12345".isdigit()) # True
print("Hello".isalpha()) # True
print("Hello123".isalnum()) # True

Индексация и срезы строк.

Строки поддерживают индексацию и получение срезов.

Индексация:

python_course/lesson_3/indexation.py at main · kuzinobit/python_course
Пример получения значения по индексу.
Пример получения значения по индексу.

Индексы символов в строке начинаются с 0 (*не только в строках. В Python все индексы начинаются с 0. Это важно запомнить).

text = "Python"
print(text[0]) # 'P'
print(text[1]) # 'y'
print(text[-1]) # 'n' (последний символ)

Срезы:

python_course/lesson_3/sections.py at main · kuzinobit/python_course
Пример использования срезов.
Пример использования срезов.

Срезы позволяют получить подстроку из строки.

text = "Программирование"
print(text[0:6]) # 'Програ' (символы с индексом от 0 до 5)
print(text[6:]) # 'ммирование' (символы с индексом от 6 до конца)
print(text[:6]) # 'Програ' (символы от начала до 5)
print(text[::2]) # 'Пормирваие' (каждый второй символ)
print(text[::-1]) # 'еинавориммаргорП' (разворот строки)

Практические примеры.

Пример 1. Обработка пользовательского ввода:

python_course/lesson_3/example_1.py at main · kuzinobit/python_course
Пример обработки пользовательского ввода.
Пример обработки пользовательского ввода.
name = input("Введите ваше имя: ")
print(f"Привет, {name.capitalize()}!")

Пример 2. Подсчёт количества слов в предложении:

python_course/lesson_3/example_2.py at main · kuzinobit/python_course
Пример подсчета количества слов в предложении.
Пример подсчета количества слов в предложении.
sentence = input("Введите предложение: ")
word_list = sentence.split()
word_count = len(word_list)
print(f"Количество слов: {word_count}")

Пример 3. Проверка палиндрома:

python_course/lesson_3/example_3.py at main · kuzinobit/python_course
Пример проверки на полиндром.
Пример проверки на полиндром.
text = input("Введите слово или фразу: ")
cleaned_text = text.replace(" ", "").lower()
if cleaned_text == cleaned_text[::-1]:
print("Это палиндром.")
else:
print("Это не палиндром.")

Заключение третьего урока.

Сегодня мы изучили:

  • Строки в Python и способы их создания.
  • Конкатенацию строк и операции над ними.
  • Форматирование строк с помощью различных методов, включая f-строки.
  • Методы строк, позволяющие выполнять преобразования и проверки.
  • Индексацию и срезы, используемые для получения подстрок.
  • Практические примеры применения строк в задачах.

Строки являются фундаментальным типом данных, широко используемым в программировании для обработки текстовой информации. Умение работать со строками — необходимый навык для любого программиста.

Домашнее задание:

Задание 1: Извлечение доменного имени из email.

Напишите программу, которая создаёт переменную с email и выводит доменное имя.

Задание 2: Замена символов в строке.

Создайте строку и замените в ней все пробелы на подчёркивания.

Задание 3*: Шифр Цезаря.

Это задание является дополнительным и более сложным. Для его выполнения вам потребуется поискать информацию самостоятельно.

Реализуйте простейший шифр Цезаря. Запросите у пользователя строку и число сдвига, затем выведите зашифрованную строку.

Подсказка: для запроса строки у пользователя используйте input()

Свои домашние работы отправляйте на почтовый ящик homework@kuzinobit.com.

Вопросы для самопроверки:

  1. Какими способами можно создавать строки в Python?
  2. Что такое конкатенация строк и как её выполнить в Python?
  3. Какие способы форматирования строк вы знаете?
  4. Как получить подстроку из строки в Python?
  5. Назовите несколько методов строк и их назначение.

Поздравляю с успешным освоением третьего урока! В следующем уроке мы начнём изучать арифметические операции в Python, которые позволят вам выполнять различные вычисления, от сложения и вычитания до более сложных операций. Вы узнаете, как работать с числами, решать математические задачи и использовать эти знания для создания более функциональных программ.

Друзья, ставьте свои лайки и подписывайтесь на канал. Дальше будет только интереснее! До новых встреч!