Python __format__ никогда не вызывался ⇐ Python
-
Гость
Python __format__ никогда не вызывался
Новичок в Python, и я не понимаю, почему format никогда не вызывается! Я не хочу игнорировать STR и читать довольно много документации. Я уверен, что упустил простую вещь!
импортировать локаль импорт даты и времени ЛОКАЛЬНЫЙ РЕГИОН = "fr_CA.utf-8" Данные класса: locale.setlocale(locale.LC_ALL, LOCALE) защита __init__(сам): locale.setlocale(locale.LC_ALL, LOCALE) def __format__(self, format_spec): print("---> " + format_spec) если не format_spec: вернуть «Отформатированный Foo» return f"Отформатированный Foo, но также и {format_spec}!" защита запуска (сам): сейчас = дата-время.дата-время.сейчас() print(f'1---> {сейчас}') print(f'2---> {now.strftime("%c")}.') print(f"3---> {now.strftime('%x %X')}.") print("4---> {}.".format(теперь 'dt_fmt')) print('5---> {сейчас}'.format("Бар", сейчас=сейчас)) print(f'6---> {сейчас:Барт}') если __name__ == "__main__": данные = Данные() данные.run() И вот результат:
1---> 20.09.2023 09:13:36.691234 2---> 20.09.2023 09:13:36. 3---> 20.09.2023 09:13:36. 4 ---> 20.09.2023 09:13:36.691234. 5---> 20.09.2023 09:13:36.691234 6---> Барт Спасибо
Новичок в Python, и я не понимаю, почему format никогда не вызывается! Я не хочу игнорировать STR и читать довольно много документации. Я уверен, что упустил простую вещь!
импортировать локаль импорт даты и времени ЛОКАЛЬНЫЙ РЕГИОН = "fr_CA.utf-8" Данные класса: locale.setlocale(locale.LC_ALL, LOCALE) защита __init__(сам): locale.setlocale(locale.LC_ALL, LOCALE) def __format__(self, format_spec): print("---> " + format_spec) если не format_spec: вернуть «Отформатированный Foo» return f"Отформатированный Foo, но также и {format_spec}!" защита запуска (сам): сейчас = дата-время.дата-время.сейчас() print(f'1---> {сейчас}') print(f'2---> {now.strftime("%c")}.') print(f"3---> {now.strftime('%x %X')}.") print("4---> {}.".format(теперь 'dt_fmt')) print('5---> {сейчас}'.format("Бар", сейчас=сейчас)) print(f'6---> {сейчас:Барт}') если __name__ == "__main__": данные = Данные() данные.run() И вот результат:
1---> 20.09.2023 09:13:36.691234 2---> 20.09.2023 09:13:36. 3---> 20.09.2023 09:13:36. 4 ---> 20.09.2023 09:13:36.691234. 5---> 20.09.2023 09:13:36.691234 6---> Барт Спасибо
Мобильная версия