Работа со строками

Методы строк

Методы строк — это встроенные функции, которые помогают манипулировать строковыми данными. Рассмотрим наиболее полезные из них:

  • upper() и lower()
    • upper() переводит все символы строки в верхний регистр.
    • lower() переводит все символы строки в нижний регистр.
string = "Hello, World!"
upper_case = string.upper()  # HELLO, WORLD!
lower_case = string.lower()  # hello, world!
  • strip()lstrip() и rstrip()**:
    • strip() удаляет пробельные символы (пробелы, табуляции, переносы строк) с обеих сторон строки.
    • lstrip() удаляет пробельные символы слева.
    • rstrip() удаляет пробельные символы справа.
string = " Hello, World! "
stripped = string.strip()  # "Hello, World!"
left_stripped = string.lstrip()  # "Hello, World! "
right_stripped = string.rstrip()  # " Hello, World!"
  • replace(old, new): Заменяет все вхождения подстроки old на новую подстроку new.
string = "Hello, World!"
replaced = string.replace("World", "Universe")  # "Hello, Universe!"
  • split(sep=None, maxsplit=-1): Разбивает строку на список подстрок по разделителю sep. Если sep не указан, используется пробельный символ.
string = "Hello, World!"
words = string.split()  # ["Hello,", "World!"]
words_with_sep = string.split(", ")  # ["Hello", "World!"]
  • join(iterable): Объединяет элементы итерируемого объекта (обычно списка строк) в одну строку, вставляя строку-разделитель между ними.
parts = ["Hello", ", ", "World!", "!"]
joined = "".join(parts)  # "Hello, World!!"
  • startswith(prefix) и endswith(suffix): Проверяют, начинается ли строка с префикса prefix или заканчивается суффиксом suffix.
string = "Hello, World!"
starts_with_hello = string.startswith("Hello")  # True
ends_with_world = string.endswith("World!")  # True
  • find(substring) и rfind(substring): Находит первое вхождение подстроки substring в строке и возвращает индекс. rfind ищет последнее вхождение.
string = "Hello, World!"
first_index = string.find("o")  # 4
last_index = string.rfind("o")  # 8
  • count(substring): Подсчитывает количество вхождений подстроки substring в строке.
string = "Hello, World!"
count_o = string.count("o")  # 2
  • isalpha()isdigit() и другие проверки**: Эти методы проверяют, состоит ли строка полностью из букв (isalpha), цифр (isdigit) и т.д.
string = "abc123"
only_letters = string.isalpha()  # False
only_digits = string.isdigit()  # False
contains_only_alphanumeric_chars = string.isalnum()  # True

Функции для работы со строками

Кроме методов, существуют встроенные функции, которые помогают работать со строками:

  • len(string): Возвращает длину строки
string = "Hello, World!"
length = len(string)  # 13
  • ord(char) и chr(code)
    • ord(char) возвращает ASCII-код символа.
    • chr(code) возвращает символ по его ASCII-коду.
char = "A"
ascii_code = ord(char)  # 65
symbol = chr(ascii_code)  # "A"
  • sorted(string): Сортирует символы строки и возвращает отсортированный список.
string = "Hello, World!"
sorted_chars = sorted(string)  # ['!', ',', 'H', 'W', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', '!']

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

Форматирование строк — это процесс вставки данных в строку с использованием специальных символов или методов. Существует три основных способа форматирования строк в Python:

  • Форматирование с помощью оператора %: Старый стиль форматирования, который был популярен до появления формата строк str.format() и f-строк.
name = "John"
age = 30
message = "My name is %s and I'm %d years old." % (name, age)
print(message)  # My name is John and I'm 30 years old.
  • Метод str.format(): Более современный способ форматирования строк, позволяющий указывать имена аргументов и их порядок.
name = "Jane"
age = 28
message = "My name is {0} and I'm {1} years old.".format(name, age)
print(message)  # My name is Jane and I'm 28 years old.
  • F-строки (форматированные строки): Самый современный и удобный способ форматирования строк, появившийся в Python 3.6. Позволяет встраивать выражения прямо в строку.
name = "Alice"
age = 32
message = f"My name is {name} and I'm {age} years old."
print(message)  # My name is Alice and I'm 32 years old.

Фигурные скобки имеют большие возможности. Внутри них можно вызывать функции и выполнять операции — нужно просто вставить соответствующие выражения.

num = 8
print(f'{num} в квадрате равно {num * num}')
# 8 в квадрате равно 64

Вызовем строковую функцию .upper(), превращающую все буквы строки в заглавные:

name = "спартак"
print(f"Это {name.upper()}!!!")
# Это СПАРТАК!!!

Для отображения двух знаков после запятой при преобразовании числа в строку можно применить f-строки в формате :.2f:

number = 123.456
formatted_number = f"{number:.2f}"
print(formatted_number)  # Вывод: "123.46"

При использовании этого подхода, вы сможете представить число в виде строки, отформатированной до двух десятичных знаков.

Источник: https://stepik.org/lesson/1582259/step/6?unit=1603604

Было ли это полезно?

0 / 0