Это listed behaviour:
возвращает копию строки с его первого символа капитализируются, а остальные строчными.
Первый символ - это пространство, пространство остается неизменным, остальное нижнее.
Если вы хотите сделать это в верхнем регистре, см. str.upper()
, или str.title()
для первой буквы каждого слова.
>>> phrase = 'lexical semantics'
>>> phrase.capitalize()
'Lexical semantics'
>>> phrase.upper()
'LEXICAL SEMANTICS'
>>> phrase.title()
'Lexical Semantics'
Или, если это просто проблема с пространством:
>>> phrase = ' lexical semantics'
>>> phrase.strip().capitalize()
'Lexical semantics'