Можно ли использовать создание экземпляра с кавычками для пользовательского класса str?Python

Программы на Python
Ответить
Anonymous
 Можно ли использовать создание экземпляра с кавычками для пользовательского класса str?

Сообщение Anonymous »

Я написал собственный класс str, потому что хочу иметь метод casefold(), который заменяет немецкие и скандинавские умлауты (ä, å, ö, ø, ü…). Он наследуется от стандартного класса str и просто заменяет метод casefold() после его использования.

Код: Выделить всё

class str(str):
def casefold(self):
umlauts: dict ={
'ä': 'ae',
'ö': 'oe',
'ü': 'ue',
'œ': 'oe',
'ø': 'oe',
'æ': 'ae',
'å': 'aa',
}
string_ = self.__repr__().casefold()
for letter in string_:
if letter in umlauts:
string_ = string_.replace(letter, umlauts[letter])
return string_
если я использую str() для создания экземпляра строки, все работает нормально:

Код: Выделить всё

str('äåöøü').casefold()
"'aeaaoeoeue'"
Но когда я создаю экземпляр с помощью '', используется стандартный класс str.

Код: Выделить всё

'äåöøüß'.casefold()
'äåöøüss'

type(str('äåöøü'))


type('äåöøüß')

Есть ли способ изменить это, изменить создание экземпляра с помощью '' на пользовательский класс? Я ничего не нашел по этому поводу.

Подробнее здесь: https://stackoverflow.com/questions/752 ... -str-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»