Как сделать первую букву заглавной python
Перейти к содержимому

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

  • автор:

Метод str.capitalize() в Python, первая буква в строке заглавная

Переводит первый символ/букву строки в верхний регистр

Синтаксис:
str.capitalize() 
Параметры:
Возвращаемое значение:
  • измененная копия строки
Описание:

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

Изменено в Python-3.8: Первый символ теперь помещается в заглавный, а не в верхний регистр. Это означает, что такие символы, как диграфы, будут иметь только первую букву с заглавной буквы, а не полный символ.

Перевод первой буквы в строке в верхний регистр.

>>> x = 'первый символ теперь пОмещается в Заглавный, а не в верХний регистр' >>> x.capitalize() # 'Первый символ теперь помещается в заглавный, а не в верхний регистр' >>> >>> x = 'ПОМЕЩАЕТСЯ В ЗАГЛАВНЫЙ, А НЕ В ВЕРХНИЙ РЕГИСТР' >>> x.capitalize() # 'Помещается в заглавный, а не в верхний регистр' >>> 

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

>>> line = 'вариант, который НЕ изменяет регистр оставшихся букв' # первую букву в верхний регистр >>> line[:1].upper() + line[1:] 'Вариант, который НЕ изменяет регистр оставшихся букв' 

Перевод первой буквы в строке в нижний регистр.

>>> line = 'вариант, который не изменяет регистр оставшихся букв' >>> line = line.upper() >>> line # 'ВАРИАНТ, КОТОРЫЙ НЕ ИЗМЕНЯЕТ РЕГИСТР ОСТАВШИХСЯ БУКВ' >>> line_title[:1].lower() + line_title[1:] # 'вАРИАНТ, КОТОРЫЙ НЕ ИЗМЕНЯЕТ РЕГИСТР ОСТАВШИХСЯ БУКВ' 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Метод str.capitalize(), первая буква в строке заглавная
  • Метод str.casefold(), сворачивает регистр строки
  • Метод str.center(), выравнивает строку по центру
  • Метод str.count(), считает совпадения в строке
  • Метод str.encode(), преобразует строку в байты
  • Метод str.endswith(), совпадение с концом строки
  • Метод str.expandtabs(), меняет табуляцию на пробел
  • Метод str.find(), индекс первого совпадения в строке
  • Метод str.format(), форматирует строку
  • Метод str.format_map()
  • Метод str.index(), индекс первого совпадения подстроки
  • Метод str.isalnum(), строка состоит из цифр и букв
  • Метод str.isalpha(), строка состоит только из букв
  • Метод str.isascii(), все символы в строке являются ASCII
  • Метод str.isdecimal(), проверяет строку на десятичное число
  • Метод str.isdigit(), строка состоит только из цифр
  • Метод str.isidentifier() проверяет строку на идентификатор Python
  • Метод str.islower( ), проверяет строку на нижний регистр
  • Метод str.isnumeric(), проверяет строку на числовые символы
  • Метод str.isprintable(), проверяет на доступность для печати
  • Метод str.isspace(), является ли строка пробелом
  • Метод str.istitle(), проверяет наличие заглавных букв в словах
  • Метод str.isupper(), проверяет строку на верхний регистр
  • Метод str.join(), объединяет список строк
  • Метод str.ljust(), ровняет строку по левому краю
  • Метод str.lower(), строку в нижний регистр
  • Метод str.lstrip(), обрезает символы в начале строки
  • Метод str.maketrans(), таблица символов для str.translate()
  • Метод str.partition(), делит строку по первому совпадению
  • Метод str.removeprefix(), удаляет префикс строки
  • Метод str.removesuffix(), удаляет суффикс строки
  • Метод str.replace(), меняет подстроку/символ в строке
  • Метод str.rfind(), индекс последнего совпадения подстроки
  • Метод str.rindex(), индекс последнего совпадения в строке
  • Метод str.rjust(), ровняет строку по правому краю
  • Метод str.rpartition(), делит строку по последнему совпадению
  • Метод str.rsplit(), делит строку справа
  • Метод str.rstrip(), обрезает символы на конце строки
  • Метод str.split(), делит строку по подстроке
  • Метод str.splitlines(), делит текст по символу ‘\n’
  • Метод str.startswith(), совпадение с началом строки
  • Метод str.strip(), обрежет строку с обоих концов
  • Метод str.swapcase(), сменит регистр символов в строке
  • Метод str.title(), каждое слово с заглавной буквы
  • Метод str.translate(), транслирование строки
  • Метод str.upper(), переведет строку в верхний регистр
  • Метод str.zfill(), дополнит строку нулями
  • Форматирование строк в стиле printf
  • F-string. Форматированные строки

Метод str.title() в Python, каждое слово с заглавной буквы

Переводит первую букву каждого слова в строке в верхний регистр

Синтаксис:
str.title() 
Параметры:
Возвращаемое значение:
  • измененная копия строки.
Описание:

Метод str.title() возвращает копию строки str , в которой у каждого слова в строке, первый символ имеет верхний регистр, а остальные символы слова переводятся в нижний регистр. Другими словами, метод вернет копию строки, в которой все слова начинаются с заглавной буквы.

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

  • Для преобразования строки в верхний регистр используйте метод строки str.upper() .
  • Для преобразования строки в нижний регистр используйте метод строки str.lower() .

Примеры преобразования в верхний регистр первых букв слов в строке.

>>> x = 'первое слово в строке начинается с заглавной буквы' >>> x.title() # 'Первое Слово В Строке Начинается С Заглавной Буквы' x = 'пЕРВОЕ сЛОВО в строке начинается с загЛаВной букВы' >>> x.title() # 'Первое Слово В Строке Начинается С Заглавной Буквы' 

Поведение метода с апострофами в сокращениях:

>>> x = "they're bill's friends from the UK" >>> x.title() # "They'Re Bill'S Friends From The Uk" 

Обходной путь для апострофов может быть создан с использованием регулярных выражений:

>>> import re >>> def titlecase(s): . return re.sub(r"[A-Za-z]+('[A-Za-z]+)?", . lambda mo: mo.group(0).capitalize(), . s) . >>> titlecase("they're bill's friends.") # "They're Bill's Friends." 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Метод str.capitalize(), первая буква в строке заглавная
  • Метод str.casefold(), сворачивает регистр строки
  • Метод str.center(), выравнивает строку по центру
  • Метод str.count(), считает совпадения в строке
  • Метод str.encode(), преобразует строку в байты
  • Метод str.endswith(), совпадение с концом строки
  • Метод str.expandtabs(), меняет табуляцию на пробел
  • Метод str.find(), индекс первого совпадения в строке
  • Метод str.format(), форматирует строку
  • Метод str.format_map()
  • Метод str.index(), индекс первого совпадения подстроки
  • Метод str.isalnum(), строка состоит из цифр и букв
  • Метод str.isalpha(), строка состоит только из букв
  • Метод str.isascii(), все символы в строке являются ASCII
  • Метод str.isdecimal(), проверяет строку на десятичное число
  • Метод str.isdigit(), строка состоит только из цифр
  • Метод str.isidentifier() проверяет строку на идентификатор Python
  • Метод str.islower( ), проверяет строку на нижний регистр
  • Метод str.isnumeric(), проверяет строку на числовые символы
  • Метод str.isprintable(), проверяет на доступность для печати
  • Метод str.isspace(), является ли строка пробелом
  • Метод str.istitle(), проверяет наличие заглавных букв в словах
  • Метод str.isupper(), проверяет строку на верхний регистр
  • Метод str.join(), объединяет список строк
  • Метод str.ljust(), ровняет строку по левому краю
  • Метод str.lower(), строку в нижний регистр
  • Метод str.lstrip(), обрезает символы в начале строки
  • Метод str.maketrans(), таблица символов для str.translate()
  • Метод str.partition(), делит строку по первому совпадению
  • Метод str.removeprefix(), удаляет префикс строки
  • Метод str.removesuffix(), удаляет суффикс строки
  • Метод str.replace(), меняет подстроку/символ в строке
  • Метод str.rfind(), индекс последнего совпадения подстроки
  • Метод str.rindex(), индекс последнего совпадения в строке
  • Метод str.rjust(), ровняет строку по правому краю
  • Метод str.rpartition(), делит строку по последнему совпадению
  • Метод str.rsplit(), делит строку справа
  • Метод str.rstrip(), обрезает символы на конце строки
  • Метод str.split(), делит строку по подстроке
  • Метод str.splitlines(), делит текст по символу ‘\n’
  • Метод str.startswith(), совпадение с началом строки
  • Метод str.strip(), обрежет строку с обоих концов
  • Метод str.swapcase(), сменит регистр символов в строке
  • Метод str.title(), каждое слово с заглавной буквы
  • Метод str.translate(), транслирование строки
  • Метод str.upper(), переведет строку в верхний регистр
  • Метод str.zfill(), дополнит строку нулями
  • Форматирование строк в стиле printf
  • F-string. Форматированные строки

Сделать первую букву каждого слова большой (заглавной)

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

31 авг 2017 в 11:31

@andreymal, если цель добавить «каноничные» ответы на типовые вопросы по python, то думаю имеет смысл использовать метку python-faq.

31 авг 2017 в 12:00

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Используйте метод title :

s = 'qwertyu iopasd fghjklz xcvbnm' print(s.title()) 
Qwertyu Iopasd Fghjklz Xcvbnm 

Отслеживать
ответ дан 31 авг 2017 в 11:12
13.1k 10 10 золотых знаков 41 41 серебряный знак 78 78 бронзовых знаков
Почему ответ минуснули?
31 авг 2017 в 11:41

@Alban наверное, потому что элементарные само воросы/ответы — это не лучший способ наполнения базы знаний ruSO.

31 авг 2017 в 12:47

@alexolut чем это принципиально отличается от этого? Автор вопроса/ответа с каких-то пор стал иметь решающее значение?

31 авг 2017 в 12:49

Я не минусовал, если хотите знать, но и не поощряю подобных ситуаций. Если вопрос задал новичок, то вполне неплохо дать ему ответ, который его устроит, а не слать его в гугл. Но если Вы даёте самоответ — хорошо бы при этом иметь не чрезмерно тривиальную ситуацию, которая решается одной единственной функцией. А показать, что была произведена какая-то более сложная работа. И тогда она с большей вероятность будет вознаграждена голосами.

31 авг 2017 в 13:12

@alexolut: голоса на ответе должны отражать только насколько хорошо ответ решает поставленную в вопросе задачу в целом и относительно других ответов в частности. Не имеет значения, кто автор вопроса/ответа. Не имеет значения насколько простая тема по вашему. Если вы считаете, что подобный вопрос неуместен на Stack Overflow голосуйте за закрытие вопроса, минусы на ответы неправильно в таком случае ставить. (я не вижу кстати минуса на ответе). Кстати, не-ascii случай может быть нетривиальным (в зависимости от версии Unicode, используемой вашей версией Питона)

Каждое слово — с большой буквы

Ваша задача — воспроизвести функционал метода title() , создав функцию emphasise() . Метод title() делает заглавной первую букву каждого слова, все остальные буквы переводятся в нижний регистр.

Примечания

  • С цифрами и прочими символами ничего делать не надо, работаем только с буквами.
  • Пожалуйста, не используйте сам метод title() !

Примеры

emphasise("hello world") ➞ "Hello World" emphasise("GOOD MORNING") ➞ "Good Morning" emphasise("99 red balloons!") ➞ "99 Red Balloons!"

Варианты решений

def emphasise(txt): return ' '.join(w[0].upper()+w[1:].lower() for w in txt.split())
def emphasise(txt): return ' '.join(w.capitalize() for w in txt.split())
import re ​ def emphasise(txt): return re.sub(r'\b(\w)', lambda x: x.group(1).upper(), txt.lower())

Добавить комментарий

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