Всіх вітаю! Сьогодні ми розглянемо метод partition() у Python та те, як саме він працює.
Суть методу
Метод partition() приймає у якості параметра послідовність символів, яку треба відшукати, та розділяє рядок на три частини. Перша частина — це частина рядка до шуканої послідовності, друга — це сама послідовність, яку ми шукали, а третя — це все, що знаходиться після шуканої послідовності. У результаті метод повертає кортеж із цими трьома частинами рядка, тобто кортеж має 3 елементи.
Виходить так, що за даного методу він спочатку шукає задану послідовність, а потім розбиває рядок на три частини відповідно до того, де лежить шукана послідовність.
Також вважаю за потрібне зазначити, що метод partition() враховує лише першу появу шуканої послідовності у рядку. Тобто, на всі наступні появи визначеної послідовності він реагувати не буде.
Використання у коді
Перший приклад
Спочатку візьмемо у якості прикладу рядок "One, two, three":
text = "One, two, three"
text_parts = text.partition("two")
print(text_parts)('One, ', 'two', ', three')Як бачимо, отримали точні три частини рядка у кортежі за тою логікою, що була описана нижче.
Другий приклад
Тепер спробуємо змінити параметр послідовності, яку потрібно знайти у рядку. Напишемо "One" замість "two":
text = "One, two, three"
text_parts = text.partition("One")
print(text_parts)('', 'One', ', two, three')Дивлячись на результат, можна побачити, що навіть з тим розрахунком, що тепер шукана послідовність "One" знаходилася на початку рядка, метод все одно розділив рядок на умовні три частини і у якості першого елемента (який знаходиться до шуканої послідовності) обрав саме пустий рядок. По суті, нічого до слова "One" не було, але даний метод зобов’язаний розділяти рядки саме на три частини, а тому не може по-іншому.
Третій приклад
Далі спробуємо обрати у якості шуканої послідовності таку, якої взагалі немає у рядку. До прикладу, оберемо слово "four".
Ось приклад:
text = "One, two, three"
text_parts = text.partition("four")
print(text_parts)('One, two, three', '', '')Як бачимо, метод не знайшов шуканої послідовності, а тому просто помістив весь рядок в один елемент кортежа. Але, тим не менш, маємо три елементи у кортежі.
Четвертий приклад
Тепер перевіримо, що буде, коли рядок міститиме шукану послідовність двічі:
text = "One, two, three, three"
text_parts = text.partition("three")
print(text_parts)('One, two, ', 'three', ', three')Отже, можемо побачити, що метод не зарахував друге слово "three" як шукану послідовність. Він врахував лише першу.
Висновок
У даній статті було розглянуто метод partition() у Python, який розбиває будь-який рядок на три частини за спеціальним принципом.
Всім дякую за увагу!