4. Строки.

Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

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

Строки в Python - это последовательности символов, заключенные в одинарные ('), двойные (") или тройные кавычки (''' или """). Строки используются для представления текстовых данных. В Python строки являются неизменяемыми, то есть их нельзя изменить после создания.
 
Создание строк
 
Одинарные и двойные кавычки
Строки могут быть заключены в одинарные или двойные кавычки. Разницы между ними нет, кроме того, как они обрабатывают кавычки внутри строки.
str1 = 'Hello, World!'
str2 = "Hello, World!"

print(str1)  # Hello, World!
print(str2)  # Hello, World!
 
Тройные кавычки
Тройные кавычки используются для создания многострочных строк или строк, содержащих кавычки внутри.
str3 = """Это
многострочная
строка"""

str4 = '''Эта строка содержит "кавычки" внутри'''

print(str3)
print(str4)
 
Экранированные символы
Экранированные символы используются для включения специальных символов в строку.
newline = "Первая строка\nВторая строка"
tabbed = "Первая строка\tВторая строка"
escaped_quote = "Он сказал: \"Привет!\""

print(newline)
print(tabbed)
print(escaped_quote)
 
Специальные символы
  • \n - Новая строка
  • \t - Табуляция
  • \\ - Обратный слеш
  • \' - Одинарная кавычка
  • \" - Двойная кавычка
 
Операции со строками
 
Конкатенация строк
Конкатенация (объединение) строк осуществляется с помощью оператора +.
str1 = "Hello"
str2 = "World"
str3 = str1 + ", " + str2 + "!"
print(str3)  # Hello, World!
 
Повторение строк
Повторение строк осуществляется с помощью оператора *.
str1 = "Hi! "
str2 = str1 * 3
print(str2)  # Hi! Hi! Hi! 
 
Индексация строк
Каждый символ строки имеет индекс, начиная с 0. Отрицательные индексы отсчитываются с конца строки.
str1 = "Hello"
print(str1[0])  # H
print(str1[-1])  # o
 
Срезы строк
Срезы используются для извлечения части строки.
str1 = "Hello, World!"
print(str1[0:5])  # Hello
print(str1[7:])  # World!
print(str1[:5])  # Hello
print(str1[::2])  # Hlo ol!
print(str1[::-1])  # !dlroW ,olleH
 
Перебор строки через цикл for
a = "1516 the best"
for i in range(len(a)):
    if(a[i] in "1234567890"):
        print(a[i])
# вывод: 1
# вывод: 5
# вывод: 1
# вывод: 6
 
Методы строк
 
Метод len()
Функция len() возвращает длину строки.
str1 = "Hello"
print(len(str1))  # 5
 
Метод .lower() и .upper()
str1 = "Hello, World!"
print(str1.lower())  # hello, world!
print(str1.upper())  # HELLO, WORLD!
 
Метод .strip()
Метод .strip() удаляет пробелы (или другие символы) с начала и конца строки.
str1 = "   Hello, World!   "
print(str1.strip())  # "Hello, World!"
 
Метод .replace()
Метод .replace() заменяет подстроку в строке на другую подстроку.
str1 = "Hello, World!"
print(str1.replace("World", "Python"))  # Hello, Python!
 
Метод .split() и .join()
Метод .split() разбивает строку по указанному разделителю и возвращает список строк. Метод .join() объединяет элементы списка в строку, используя указанный разделитель.
str1 = "Hello, World!"
list1 = str1.split(", ")
print(list1)  # ['Hello', 'World!']

str2 = ", ".join(list1)
print(str2)  # Hello, World!
 
Метод .find() и .rfind()
Метод .find() возвращает индекс первого вхождения подстроки, а метод .rfind() - индекс последнего вхождения. Если подстрока не найдена, возвращается -1.
str1 = "Hello, World!"
print(str1.find("o"))  # 4
print(str1.rfind("o"))  # 8
print(str1.find("Python"))  # -1
 
Метод .startswith() и .endswith()
Методы .startswith() и .endswith() проверяют, начинается ли или заканчивается ли строка на указанную подстроку.
str1 = "Hello, World!"
print(str1.startswith("Hello"))  # True
print(str1.endswith("World!"))  # True
 
Проверочные методы
  • .isalpha() возвращает True, если строка состоит только из букв.
  • .isdigit() возвращает True, если строка состоит только из цифр.
  • .isalnum() возвращает True, если строка состоит только из букв и цифр.
str1 = "Hello"
str2 = "12345"
str3 = "Hello123"

print(str1.isalpha())  # True
print(str2.isdigit())  # True
print(str3.isalnum())  # True
 
Форматирование строк
 
Оператор %
Оператор % используется для форматирования строк.
name = "Alice"
age = 25
str1 = "My name is %s and I am %d years old." % (name, age)
print(str1)  # My name is Alice and I am 25 years old.
 
Метод .format()
Метод .format() предоставляет более мощный способ форматирования строк.
name = "Alice"
age = 25
str1 = "My name is {} and I am {} years old.".format(name, age)
print(str1)  # My name is Alice and I am 25 years old.
 
F-строки (f-strings)
F-строки (форматированные строковые литералы) - это самый современный и удобный способ форматирования строк в Python.
name = "Alice"
age = 25
str1 = f"My name is {name} and I am {age} years old."
print(str1)  # My name is Alice and I am 25 years old.
 
Форматирование чисел
pi = 3.14159
str1 = f"Число Пи примерно равно {pi:.2f}"
print(str1)  # Число Пи примерно равно 3.14

 

Многострочные строки
Для работы с многострочными строками удобно использовать тройные кавычки.
str1 = """Это
многострочная
строка"""
print(str1)
 
Проверка строк в Python
 
В Python есть множество встроенных методов для проверки строк. Эти методы позволяют определить различные свойства строк, такие как содержат ли они только цифры, буквы, являются ли они в верхнем или нижнем регистре и многое другое. Рассмотрим наиболее часто используемые методы для проверки строк.
  1. str.isalpha(): Проверяет, состоит ли строка только из алфавитных символов (букв).
    s = "Hello"
    print(s.isalpha())  # Вывод: True
    
    s = "Hello123"
    print(s.isalpha())  # Вывод: False
    
  2. str.isdigit(): Проверяет, состоит ли строка только из цифр.
    s = "12345"
    print(s.isdigit())  # Вывод: True
    
    s = "12345abc"
    print(s.isdigit())  # Вывод: False
    
  3. str.isalnum(): Проверяет, состоит ли строка только из алфавитных символов и цифр.
    s = "Hello123"
    print(s.isalnum())  # Вывод: True
    
    s = "Hello 123"
    print(s.isalnum())  # Вывод: False
    
  4. str.islower(): Проверяет, состоит ли строка только из символов в нижнем регистре.
    s = "hello"
    print(s.islower())  # Вывод: True
    
    s = "Hello"
    print(s.islower())  # Вывод: False
    
  5. str.isupper(): Проверяет, состоит ли строка только из символов в верхнем регистре.
    s = "HELLO"
    print(s.isupper())  # Вывод: True
    
    s = "Hello"
    print(s.isupper())  # Вывод: False
    
  6. str.isspace(): Проверяет, состоит ли строка только из пробельных символов (например, пробелов, табуляций, новых строк).
    s = "   "
    print(s.isspace())  # Вывод: True
    
    s = "Hello"
    print(s.isspace())  # Вывод: False
    
  7. str.startswith(prefix): Проверяет, начинается ли строка с заданного префикса.
    s = "Hello, world!"
    print(s.startswith("Hello"))  # Вывод: True
    
    print(s.startswith("world"))  # Вывод: False
    
  8. str.endswith(suffix): Проверяет, заканчивается ли строка заданным суффиксом.
    s = "Hello, world!"
    print(s.endswith("world!"))  # Вывод: True
    
    print(s.endswith("Hello"))  # Вывод: False
    

категории

ТЕОРИЯ

  • Введение в Python
  • Основы программирования на Python
  • Управляющие конструкции
  • Структуры данных
  • Функции и модули
  • Обработка исключений
  • Работа с файлами и потоками
  • файловая система
  • Объектно-ориентированное программирование (ООП)
  • Регулярные выражения
  • Дополнительные темы

Мы в соцсетях