Как сделать чтобы первая буква была заглавной python

Добавил пользователь Владимир З.
Обновлено: 16.09.2024

В этом руководстве мы узнаем, что такое PEP-8 и как мы можем использовать его в кодировании Python. Мы обсудим рекомендации по использованию PEP в программировании – это руководство предназначено для начинающих и специалистов среднего уровня. Мы также обсудим преимущества использования PEP-8 в Python как правила для идеального кодирования.

Что такое PEP в Python?

PEP – это аббревиатура от Python Enterprise Proposal. Написание кода с правильной логикой является ключевым фактором программирования, но многие другие важные факторы могут повлиять на качество кода. Стиль кодирования разработчика делает код очень надежным, и каждый разработчик должен помнить, что Python строго следует порядку и формату строки.

Адаптивный красивый стиль кодирования делает код более читабельным. Код становится простым для конечного пользователя.

PEP 8 – это документ, который предоставляет различные рекомендации по написанию читаемого на Python. PEP 8 описывает, как разработчик может писать красивый код. Он был официально написан в 2001 году Гвидо ван Россумом, Барри Варшавой и Ником Когланом. Основная цель PEP – улучшить читаемость и согласованность кода.

Почему важен PEP 8?

PEP 8 улучшает читаемость кода Python, но почему читаемость так важна? Давайте разберемся с этой концепцией.

Создатель Python Гвидо ван Россум сказал, что код может быть написан за несколько минут, несколько часов или целый день, но как только мы напишем код, мы больше никогда его не переписываем. Но иногда нам нужно читать код снова и снова.

На этом этапе мы должны иметь представление о том, почему мы написали конкретную строку в коде. Код должен отражать значение каждой строки. Вот почему так важна удобочитаемость.

Мы опишем несколько важных рекомендаций по написанию эффективного кода, который также может быть прочитан другими.

Условные обозначения

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

Условные обозначения в Python немного запутаны, но есть определенные соглашения, которым мы можем легко следовать. Давайте посмотрим на следующие обозначения.

Одна строчная буква

Одна заглавная буква

Строчные буквы с подчеркиванием

ВЕРХНИЙ РЕГИСТР С ПОДЧЕРКИВАНИЕМ

Заглавные слова(или CamelCase)

Стили имен

Ниже приведена таблица, в которой указаны некоторые из распространенных стилей именования в Python. Рассмотрим следующую таблицу.

Тип Соглашение об именовании Примеры
Функция Мы должны использовать слова в нижнем регистре или разделять слова подчеркиванием. myfunction, my_function
Переменная Мы должны использовать строчные буквы, слова или отдельные слова, чтобы улучшить читаемость. a, var, variable_name
Класс Первая буква названия класса должна быть заглавной; используйте camel case. Не разделяйте слова подчеркиванием. MyClass, Form, Model
Метод Мы должны использовать строчные буквы, слова или отдельные слова, чтобы улучшить читаемость. class_method, method
Константа Использование заглавных букв, слов или отдельных слов для повышения удобочитаемости. MYCONSTANT, CONSTANT, MY_CONSTANT
Модуль Мы должны использовать строчные буквы, слова или отдельные слова, чтобы улучшить читаемость. Module_name.py, module.py
Пакет Мы должны использовать строчные буквы, слова или отдельные слова, чтобы улучшить читаемость. Не разделяйте слова подчеркиванием. package, mypackage

Выше приведены некоторые общие соглашения об именах, которые можно использовать для улучшения кода Python. Для дополнительного улучшения мы должны тщательно выбирать имя.

Макет кода

Макет кода определяет, насколько код читается. В этом разделе мы узнаем, как использовать пробелы для улучшения читаемости кода.

Отступ

В отличие от других языков программирования, отступ используется для определения блока кода в Python. Отступы – важная часть языка программирования Python, определяющая уровень строк кода. Как правило, мы используем 4 пробела для отступа. Давайте разберемся в следующем примере.

В приведенном выше примере оператор печати с отступом будет выполнен, если условие оператора if истинно. Этот отступ определяет блок кода и сообщает нам, какие операторы выполняются при вызове функции или триггере условия.

Вкладки против пробела

Мы также можем использовать вкладки, чтобы предоставить последовательные пробелы, чтобы указать отступ, но пробелы являются наиболее предпочтительными. Python 2 позволяет смешивать табуляции и пробелы, но мы получим ошибку в Python 3.

Отступ после разрыва строки

Для продолжения строки важно использовать отступ, чтобы длина строки не превышала 79 символов. Это обеспечивает гибкость определения между двумя строками кода и одной строкой кода, которая расширяет две строки.

Мы можем использовать следующую структуру.

Использование документационной строки

Python предоставляет два типа документационных строк – однострочные и многострочные. Мы используем тройные кавычки для определения однострочного или многострочного типа. В основном они используются для описания функции или конкретной программы. Давайте разберемся в следующем примере.

Должна ли линия разрываться до или после бинарного оператора?

Строки разрываются до или после двоичной операции – это традиционный подход. Но это сильно влияет на удобочитаемость, потому что операторы разбросаны по разным экранам, и каждый оператор находится вдали от своего операнда и на предыдущей строке. Давайте разберемся в следующем примере.

Как мы видим в приведенном выше примере, он кажется довольно запутанным для чтения. Мы можем решить подобные проблемы, используя следующую структуру.

Python позволяет нам разбивать строку до или после бинарного оператора, если соглашение согласовано локально.

Модуль импорта

Мы должны импортировать модули в разделительной строке следующим образом.

Мы также можем использовать следующий подход.

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

Однако мы можем использовать явный относительный импорт вместо абсолютного импорта, особенно при работе со сложными пакетами.

Пустые строки

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

  • Функция верхнего уровня и классы с двумя линиями – поместите вокруг них дополнительное вертикальное пространство, чтобы было понятно.
  • Одна пустая строка внутри классов – функции, которые мы определяем в классе, связаны друг с другом. Давайте посмотрим на следующий пример –
  • Используйте пустые строки внутри функции – иногда нам нужно написать сложную функцию, состоящую из нескольких шагов перед оператором возврата. Таким образом, мы можем добавлять пустую строку между каждым шагом. Давайте разберемся в следующем примере.

Вышеупомянутый способ может удалить пробелы, чтобы улучшить читаемость кода.

Закрывающие скобки

Мы можем разбивать строки внутри круглых скобок, используя продолжения строки. PEP 8 позволяет нам использовать закрывающие фигурные скобки в подразумеваемых продолжениях строк. Давайте разберемся в следующем примере.

  • Совместите закрывающую скобку с первым непробельным символом.
  • Совместите закрывающие фигурные скобки с первым символом строки.

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

Комментарии

Комментарии являются неотъемлемой частью любого языка программирования. Это лучший способ объяснить код. Когда мы задокументировали наш код с соответствующими комментариями, каждый сможет понять код. Но следует помнить о следующих моментах.

  • Начните с заглавной буквы и напишите полное предложение.
  • Обновите комментарий в случае изменения кода.
  • Ограничьте длину строки комментариев и строк документации 72 символами.

Блочный комментарий

Блочные комментарии – хороший выбор для небольшого участка кода. Такие комментарии полезны, когда мы пишем несколько кодов строк для выполнения одного действия, такого как повторение цикла. Они помогают нам понять цель кода.

PEP 8 предоставляет следующие правила для записи блока комментариев.

Посмотрим на следующий код.

Мы можем использовать больше абзаца для технического кода.

Встроенные комментарии

Встроенные комментарии используются для объяснения одного оператора в фрагменте кода. Мы можем быстро понять, почему мы написали именно эту строку кода. PEP 8 определяет следующие правила для встроенных комментариев.

Ниже приведен пример встроенных комментариев.

Иногда мы можем использовать соглашение об именах, чтобы заменить встроенный комментарий.

Мы можем использовать следующее соглашение об именах.

Встроенные комментарии необходимы, но блочные комментарии делают код более читабельным.

Излишнее добавление пробелов

В некоторых случаях использование пробелов может затруднить чтение кода. Слишком много пробелов может сделать код слишком разреженным и трудным для понимания. Не следует добавлять пробелы в конце строки. Это известно как завершающие пробелы.

Посмотрим на следующий пример.

Рекомендации по программированию

Как мы знаем, в Python есть несколько методов для выполнения аналогичных задач. В этом разделе мы увидим некоторые предложения PEP 8 по улучшению согласованности.

  • Избегайте сравнения логических значений с помощью оператора эквивалентности

Мы не должны использовать оператор эквивалентности == для сравнения логических значений. Он может принимать только Истину или Ложь. Посмотрим на следующий пример.

Этот подход прост, поэтому PEP 8 поощряет его.

  • Пустые последовательности ложны в операторах if

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

Однако, если есть пустой список, набор или кортеж. Мы можем использовать следующий способ проверки.

Второй способ более уместен; вот почему PEP 8 поощряет это.

Есть два варианта проверить, имеет ли переменная определенное значение. В первом варианте x не равно None, как в следующем примере.

Второй вариант – оценить x как None и оператор if, основанный не на результате.

Оба варианта верны, но первый прост, поэтому PEP 8 поддерживает его.

Заключение

Итак, о работе со строками мы немного поговорили, теперь поговорим о функциях и методах строк.

Я постарался собрать здесь все строковые методы и функции, но если я что-то забыл – поправляйте.

Базовые операции

Длина строки (функция len)

Доступ по индексу

Как видно из примера, в Python возможен и доступ по отрицательному индексу, при этом отсчет идет от конца строки.

Оператор извлечения среза: [X:Y]. X – начало среза, а Y – окончание;

символ с номером Y в срез не входит. По умолчанию первый индекс равен 0, а второй – длине строки.

Кроме того, можно задать шаг, с которым нужно извлекать срез.

Другие функции и методы строк

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

Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.

Как наиболее изящно сделать только первую букву в строке заглавной?

Мой вариант такой, но можно ли его улучшить?

Ваш метод возвратит исключение на пустой строке. Тут либо нужно гарантировать, что подаются непустые строки, либо ещё и впилить проверку (что сделает код ещё менее элегантным). Тем не менее, я бы сделал проверку и превратил бы это в функцию (а в js ещё бы впилил её в базовый класс).
Например так:

def capitalizeFirst ( string ) :
if string :
return string [ 0 ] . upper ( ) + string [ 1 : ]
return string [ : ]

Я думаю можно вот так
S = ‘string’
S.capitalize()

Ничего лучше вашего ппридумать не могу.
Если не по существу вопроса, то можно так:

vals [ ‘name’ ] = "" . join ( vals [ ‘name’ ] [ 0 ] . upper ( ) , vals [ ‘name’ ] [ 1 : ] )

425263 просмотра

15 ответа

68501 Репутация автора

. сделать что-то здесь .

Какой самый простой способ сделать это?

Ответы (15)

781 плюса

181406 Репутация автора

.title() Метод строки (ASCII или Unicode штраф) делает это:

Однако обратите внимание на строки со встроенными апострофами, как указано в документации.

Алгоритм использует простое независимое от языка определение слова как группы последовательных букв. Определение работает во многих контекстах, но оно означает, что апострофы в сокращениях и притяжениях образуют границы слов, что может не соответствовать желаемому результату:

88 плюса

55387 Репутация автора

Просто потому, что мне это нравится, вот еще два решения.

Разделите на слова, начальное заглавие каждого слова из разделенных групп и воссоединиться. Это изменит пробел, разделяющий слова в один пробел, независимо от того, что это было.

РЕДАКТИРОВАТЬ: я не помню, о чем я думал, когда писал вышеупомянутый код, но нет необходимости создавать явный список; мы можем использовать выражение генератора, чтобы сделать это ленивым способом. Итак, вот лучшее решение:

Я рад, что исследовал этот ответ. Я понятия не имел, что re.sub() может взять на себя функцию! Вы можете сделать нетривиальную обработку внутри, re.sub() чтобы получить конечный результат!

Автор: steveha Размещён: 11.10.2009 06:04

10 плюса

345 Репутация автора

Если str.title () не работает для вас, сделайте капитализацию самостоятельно.

  1. Разбить строку на список слов
  2. Прописать первую букву каждого слова
  3. Объедините слова в одну строку

14 плюса

11569 Репутация автора

Готовая к копированию и вставке версия @jibberia anwser:

162 плюса

1621 Репутация автора

.title() Метод не может хорошо работать,

Разбейте аргумент на слова с помощью str.split (), используйте каждое слово с заглавной буквы с помощью str.capitalize () и объедините слова с заглавными буквами с помощью str.join (). Если необязательный второй аргумент sep отсутствует или отсутствует, последовательности пробельных символов заменяются одним пробелом, а начальные и конечные пробелы удаляются, в противном случае sep используется для разделения и объединения слов.

-2 плюса

57 Репутация автора

Мне очень нравится этот ответ:

Готовая к копированию и вставке версия @jibberia anwser:

Но некоторые строки, которые я отправлял, отделяли некоторые пустые символы ”, которые вызывали ошибки при попытке сделать s [1:]. Вероятно, есть лучший способ сделать это, но мне пришлось добавить в if len (s)> 0, как в

2 плюса

605 Репутация автора

Чтобы использовать слова .

@ Gary02127 комментарий, ниже название работы решения с апострофом

3 плюса

1027 Репутация автора

Как отметил Марк, вы должны использовать .title() :

Однако, если вы хотите сделать первую букву заглавной в шаблоне django , вы можете использовать это:

или используя переменную:

11 плюса

Почему вы усложняете свою жизнь соединениями и циклами, когда решение простое и безопасное?

Просто сделай это:

2 плюса

1269 Репутация автора

Предложенный метод str.title () работает не во всех случаях. Например:

Я думаю, что лучше сделать что-то вроде этого:

Автор: Sören Размещён: 11.11.2016 05:57

12 плюса

1236 Репутация автора

Вот краткое изложение различных способов сделать это, они будут работать для всех этих входных данных:

– Самое простое решение – разделить предложение на слова и использовать заглавную букву, а затем соединить его вместе.

– Если вы не хотите сначала разбивать входную строку на слова и использовать необычные генераторы:

– или без импорта itertools

– или вы можете использовать регулярные выражения, из ответа Steveha

Теперь, это были некоторые другие ответы, которые были опубликованы, и входные данные, для которых они не работают должным образом, если мы используем определение слова, являющегося началом предложения или чего-либо после пробела:

использование ” для разбиения исправит второй вывод, но capwords () все равно не будет работать для первого

Будьте осторожны с несколькими пробелами

Автор: aljgom Размещён: 28.02.2017 05:29

5 плюса

472 Репутация автора

Пустая строка вызовет ошибку, если вы получите доступ к [1:], поэтому я бы использовал:

в верхнем регистре только первая буква.

1 плюс

1632 Репутация автора

Не забывайте о сохранении пустого пространства. Если вы хотите обработать, ‘fred flinstone’ и вы получаете ‘Fred Flinstone’ вместо ‘Fred Flinstone’ , вы испортили пустое пространство. Некоторые из вышеуказанных решений потеряют пустое пространство. Вот решение, которое хорошо для Python 2 и 3 и сохраняет пустое пространство.

1 плюс

136 Репутация автора

Если только вам нужна первая буква: ‘hello world’ .capitalize () Вывод: Hello world

Но чтобы использовать каждое слово с заглавной буквы: ‘hello world’. Title () Вывод: Hello world

.title() метод строки (либо ASCII, либо Unicode в порядке) делает следующее:

Однако обратите внимание на строки со встроенными апострофами, как указано в документах.

В алгоритме используется простое независимое от языка определение слова как группы последовательных букв. Определение работает во многих контекстах, но это означает, что апострофы в схватках и владениях образуют границы слов, что не может быть желаемым результатом:

вы демонстрируете str.title() , а не string.title() . unicode.title() в Python 2 делает то же самое для строк Unicode.

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

Существует проблема с string.title (). Когда вы используете, например, "eg 3b" , желаемый результат будет "EG 3b" . Однако "eg 3b".title() возвращает "EG 3B" .

Отличный ответ, и комментарии подчеркивают, что в python не все ведет себя так, как вам нужно, но всегда есть удобные способы сделать это. Наиболее удобный способ - часто импортировать специализированную библиотеку, такую как python-titlecase.

Метод .title() не может работать хорошо,

Разделите аргумент на слова, используя str.split(), запишите каждое слово, используя str.capitalize(), и соедините заглавные слова, используя str.join(). Если необязательный второй аргумент sep отсутствует или None, пробелы пробельных символов заменяются одним пробелом, а удаленные пробелы ведущие и конечные удаляются, иначе sep используется для разделения и объединения слов.

Capwords по-прежнему отсутствует и не обрабатывает что-то вроде "There once was a string with an 'that had words right after it and then closed'" . В этом примере все миры за исключением , that капитализируются , как и ожидалось. В результате получилось: "There Once Was A String With An 'that Had Words Right After It And Then Closed'"

Тем не менее, это работает лучше, чем title() для нормальных ситуаций. В моей ситуации title() возвращает capwords() вывод для имен с акцентом или дирезисом, в то время как capwords() обрабатывает это правильно.

Просто потому, что для меня это весело, вот еще два решения.

Разделите слова, запишите каждое слово из разделенных групп и присоединитесь. Это изменит белое пространство, разделяющее слова, на одно пустое пространство, независимо от того, что было.

EDIT: Я не помню, о чем я думал, когда писал этот код, но нет необходимости создавать явный список; мы можем использовать выражение генератора, чтобы сделать это ленивым способом. Итак, вот лучшее решение:


Основы

Одним из самых распространённых типов данных является строковый. Вопреки расхожему мнению, программист чаще сталкивается не с числами, а с текстом. В Python, как известно, всё является объектами. Не исключение и строки – это объекты, состоящие из набора символов. Естественно, в языке существует широкий набор инструментов для работы с этим типом данных.

Строковые операторы

Оператор сложения строк +

Оператор умножения строк *

Это работает только с целочисленными множителями. Если умножить на ноль или отрицательное число, результатом будет пустая строка. Но лучше так не делать.

Оператор принадлежности подстроки in

Если надо проверить, содержится ли подстрока в строке, удобно пользоваться оператором “in”

Встроенные функции строк в python

Пайтон содержит ряд удобных встроенных функций для работы со строками.

Функция ord() возвращает числовое значение символа, при чём, как для кодировки ASCII, так и для UNICODE.

Функция chr(n) возвращает символьное значение для данного целого числа, то есть выполняет действие обратное ord().

Функция len() возвращает количество символов в строке.

Функция str() возвращает строковое представление объекта.

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

Строка является упорядоченной последовательностью символов. Другими словами, она состоит из символов, стоящих в определённом порядке. Благодаря этому, к символу можно обратиться по его порядковому номеру. Для этого надо указать номер символа в квадратных скобках. Нумерация начинается с нуля (0 – это первый символ).

Попытка обращения по индексу большему чем длина строки вызовет исключение IndexError:

В качестве индекса может быть использовано отрицательное число. В этом случае индексирование начинается с конца строки: -1 относится к последнему символу, -2 к предпоследнему и так далее.

Срезы строк

В Python существует механизм срезов коллекций. Срезы позволяют обратиться к подстроке используя индексы. Для этого надо в квадратных скобках указать: [начальный индекс : конечный индекс : шаг]. Каждый из параметров является необязательным. Поскольку строка это коллекция, срезы применимы и к ней.

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

В Python есть функция форматирования строки, которая официально названа литералом отформатированной строки, но обычно упоминается как f-string.

Главной особенностью этой функции является возможность подстановки значения переменной в строку.

Чтобы это сделать с помощью f-строки необходимо:

  • Указать f или F перед кавычками строки (что сообщит интерпретатору, что это f-строка).
  • В любом месте внутри строки вставить имя переменной в фигурных скобках (< >).

Изменение строк

Тип данных строка в Python относится к неизменяемым (immutable), но это почти не влияет на удобство их использования, ведь можно создать изменённую копию. Для этого есть два возможных пути:

Как Вы можете видеть, данный метод не меняет строку, а возвращает изменённую копию.

Встроенные методы строк в Python

Изменение регистра строки

Если Вам надо изменить регистр строки, удобно использовать один из следующих методов

capitalize() переводит первую букву строки в верхний регистр, остальные в нижний.

Не алфавитные символы не изменяются:

lower() преобразует все буквенные символы в строчные.

swapcase() меняет регистр на противоположный.

title() преобразует первые буквы всех слов в заглавные

upper() преобразует все буквенные символы в заглавные.

Найти и заменить подстроку в строке

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

Каждый метод в этой группе поддерживает необязательные аргументы start и end. Они задают диапазон поиска: действие метода ограничено частью целевой строки, начинающейся в позиции символа start и продолжающейся вплоть до позиции символа end, но не включая его. Если start указано, а end нет, метод применяется к части строки от start до конца.

count() подсчитывает количество точных вхождений подстроки в строку.

endswith() определяет, заканчивается ли строка заданной подстрокой.

find() ищет в строке заданную подстроку. Возвращает первый индекс который соответствует началу подстроки. Если указанная подстрока не найдена, возвращает -1.

index() ищет в строке заданную подстроку.

Этот метод идентичен find(), за исключением того, что он вызывает исключение ValueError, если подстрока не найдена.

rfind() ищет в строке заданную подстроку, начиная с конца.

Возвращает индекс последнего вхождения подстроки, который соответствует её началу.

rindex() ищет в строке заданную подстроку, начиная с конца.

Этот метод идентичен rfind(), за исключением того, что он вызывает исключение ValueError, если подстрока не найдена.

startswith() определяет, начинается ли строка с заданной подстроки.

Классификация строк

Методы в этой группе классифицируют строку на основе символов, которые она содержит.

isalnum() возвращает True, если строка не пустая, а все ее символы буквенно-цифровые (либо буква, либо цифра).

isalpha() определяет, состоит ли строка только из букв.

isdigit() определяет, состоит ли строка из цифр.

isidentifier() определяет, является ли строка допустимым идентификатором (название переменной, функции, класса и т.д.) Python.

isidentifier() вернет True для строки, которая соответствует зарезервированному ключевому слову Пайтон, даже если его нельзя использовать.

Вы можете проверить, является ли строка ключевым словом Python, используя функцию iskeyword(), которая находится в модуле keyword.

Если вы действительно хотите убедиться, что строку можно использовать как идентификатор Питон, вы должны проверить, что isidentifier() = True и iskeyword() = False.

islower() определяет, являются ли буквенные символы строки строчными.

isprintable() определяет, состоит ли строка только из печатаемых символов.

Это единственный метод данной группы, который возвращает True, если строка не содержит символов. Все остальные возвращаются False.

isspace() определяет, состоит ли строка только из пробельных символов.

Тем не менее есть несколько символов ASCII, которые считаются пробелами. И если учитывать символы Юникода, их еще больше:

‘\f’ и ‘\r’ являются escape-последовательностями для символов ASCII; ‘\u2005’ это escape-последовательность для Unicode.

istitle() определяет, начинаются ли слова строки с заглавной буквы.

isupper() определяет, являются ли буквенные символы строки заглавными.

Выравнивание строк, отступы

Методы из данной группы управляют отображением строки.

center() выравнивает строку по центру.

Если указан необязательный аргумент fill, он используется как символ заполнения:

Если строка больше или равна указанной ширине, строка возвращается без изменений:

expandtabs() заменяет каждый символ табуляции (‘\t’) пробелами. По умолчанию табуляция заменяются на 8 пробелов.

tabsize необязательный параметр, задающий количество пробелов.

ljust() выравнивание по левому краю.

lstrip() удаляет переданные в качестве аргумента символы слева. По умолчанию это пробелы.

replace() заменяет вхождения подстроки в строке.

Необязательный аргумент count, указывает количество замен, которое нужно осуществить:

rjust() выравнивание по правому краю строки в поле.

rstrip() обрезает пробельные символы.

strip() удаляет символы с левого и правого края строки.

Когда возвращаемое значение метода является другой строкой, как это часто бывает, методы можно вызывать последовательно:

zfill() возвращает копию строки дополненную нулями слева для достижения длины строки указанной в параметре width:

Если строка короче или равна параметру width, строка возвращается без изменений:

Методы преобразования строки в список

Методы в данной группе превращают строку в другой тип данных и наоборот. Эти методы возвращают или принимают коллекции (чаще всего это список).

join() возвращает строку, которая является результатом конкатенации элементов коллекции и разделителя.

Стоит обратить внимание что все элементы итерируемого объекта должны быть строкового типа. Так же Вы могли заметить в последнем примере, что для объединения словаря в строку метод join() использует не значения, а ключи. Если Вам нужны именно ключи, то делается это так:

Сложнее ситуация, когда нужны пары ключ-значение. Здесь придётся сперва распаковать кортежи.

partition() делит строку на основе разделителя (действие, обратное join). Возвращаемое значение представляет собой кортеж из трех частей:

  • Часть строки до разделителя
  • Разделитель
  • Часть строки после разделителя

Если разделитель не найден, возвращаемый кортеж содержит строку и ещё две пустые строки:

rpartition() делит строку на основе разделителя, начиная с конца.

rsplit() делит строку на список из подстрок. По умолчанию разделителем является пробел.

split() делит строку на список из подстрок.

Ведет себя как rsplit(), за исключением того, что при указании maxsplit – максимального количества разбиений, деление начинается с левого края строки:

Если параметр maxsplit не указан, между rsplit() и split() разницы нет.

splitlines() делит текст на список строк и возвращает их в списке. Любой из следующих символов или последовательностей символов считается границей строки:

Разделитель Значение
\n Новая строка
\r Возврат каретки
\r\n Возврат каретки + перевод строки
\v или же \x0b Таблицы строк
\f или же \x0c Подача формы
\x1c Разделитель файлов
\x1d Разделитель групп
\x1e Разделитель записей
\x85 Следующая строка
\u2028 Новая строка (Unicode)
\u2029 Новый абзац (Unicode)

Заключение

Читайте также: