Текстовая информация хранится в объектах строкового типа.
Проверка вхождения одной строки в другую:
Проверка вхождения одной строки в другую:
print("abc" in "abcba") print("abce" in "abcba") print("cabcd".find("abc", 1)) # индекс первого вхождения или -1 print("cabcd"[1:].find("abc")) print(str.find.__doc__) print("cabcd".index("abc")) # индекс первого вхождения или ValueError print("cabcd".index("aec"))
Проверка на то начинается ли строка с какой-нибудь подстроки или заканчивается ли какой-нибудь подстрокой:
s = "The whale in black fled across the desert, and the gunslinger followed"print(s.startswith(("The woman", "The dog", "The man in black"))) print(s.startswith.__doc__) s = "image.png" print(s.endswith(".png"))
Число не пересекающихся вхождений одной строки в другую:
s = "abacaba" print(s.count("aba")) print(s.count.__doc__)
У некоторых функций есть правосторонние аналоги, которые делают то же самое, но начинают читать строку справа налево:
print(s.find("aba")) print(s.rfind("aba"))
Приведение к нижнему или верхнему регистру:
s = "The man in black fled across the desert, and the gunslinger followed" print(s.lower()) print(s.upper()) print(s.count("the")) print(s.lower().count("the"))
Замена всех вхождений или заданного числа вхождений подстроки на другую подстроку:
s = "1,2,3,4" print(s) print(s.replace(",", ", ", 2)) print(s.replace.__doc__)
Разделение строки по заданному разделителю:
s = "1\t\t 2 3 4 " print(s.split()) print(s.split.__doc__)
Методы rstrip, lstrip и strip чистят соответственно справа, слева и с обоих концов.
s = "_*__1, 2, 3, 4__*_" print(repr(s.rstrip("*_"))) print(repr(s.lstrip("*_"))) print(repr(s.strip("*_")))
Метод принимает последовательность, т.е. то по чему можно проитерироваться, и он вставляет заданную строку между всеми элементами последовательности:
numbers = map(str, [1, 2, 3, 4, 5]) print(repr(" ".join(numbers)))
Процесс подстановки какого-то конкретного значения в общий шаблон называется форматированием:
capital = 'London is the capital of Great Britain' template = '{} is the capital of {}' print(template.format("London", "Great Britain")) print(template.format("Vaduz", "Liechtenstein")) print(template.format.__doc__) template = '{capital} is the capital of {country}' print(template.format(capital="London", country="Great Britain")) print(template.format(country="Liechtenstein", capital="Vaduz"))
Благодаря форматированию можно обращаться к атрибутам объектов, которые мы передали:
import requests template = "Response from {0.url} with code {0.status_code}" res = requests.get("https://docs.python.org/3.5/") print(template.format(res)) res = requests.get("https://docs.python.org/3.5/random") print(template.format(res))
Можно использовать метод forward и указать в специальном синтаксисе, что нас интересует только три знака после запятой в нашем числе:
from random import random x = random() print(x) print("{:.3}".format(x))
Комментариев нет:
Отправить комментарий