Size: a a a

Python beginners

2021 December 04

D

Dallar $ in Python beginners
👍🏽👍🏽
Спасибо
источник

A

Andrew in Python beginners
Их и использую повсеместно, как по мне очень удобно, но постоянно возникает вопрос: "А есть что-то эффективнее?"
источник

T

Tishka17 in Python beginners
Есть. Заранее созданные строки :)
источник

A

Andrew in Python beginners
Хех
источник

T

Tishka17 in Python beginners
Повсеместно? На самом деле мало где их можно применить
источник

AV

Amaro Vita ☕️ in Python beginners
Фстроки как-то с интернационализацией не сочетаются...
источник

A

Andrew in Python beginners
Везде, где в строку нужно вставить значение переменной, вставляю через ф-строки
источник

RV

Roman Voronov in Python beginners
Зависит от задачи. Если прям жесть как нужна производительность - можно сделать вкропления pypy, nim или другого кода. Но код усложнится в поддержке, если твой техлид спросит - я этого не предлагал.
источник

T

Tishka17 in Python beginners
Как правило юзаешь, логгинг, шаблонизаторы, gui библиотеки, i18n, os.path, sql. Нигде из этих мест ф-строки не применимы
источник

T

Tishka17 in Python beginners
Изредка, да, можно заюзать. Например, когда делаешь отладочный вывод, формирование имени файла или сборку пути урла по частям (но не квери параметры)
источник

AV

Amaro Vita ☕️ in Python beginners
В логгинге вполне.
источник

RV

Roman Voronov in Python beginners
Не, без нумбы тестил, 5 базовых способов без импортов
источник

O

Oleksii 🌈 in Python beginners
вот так?
источник

A

Andrew in Python beginners
Я имел в виду, вывод текстовой информации пользователю) В этих либах ф-строки не использую)
источник

RV

Roman Voronov in Python beginners
Звучит интересно!
источник

T

Tishka17 in Python beginners
Ну только в простых программах с принтами, ага
источник

T

Tishka17 in Python beginners
А там пофиг на скорость
источник

T

Tishka17 in Python beginners
Нет
источник

AV

Amaro Vita ☕️ in Python beginners
Когда захочется поддержки языков, фстроки закончатся
источник

T

Tishka17 in Python beginners
https://t.me/pythonotes/298

Про логгинг
Telegram
Python Заметки
В модуле logging предусмотрен немного необычный способ форматирования строки без форматирования.

logging.info('Message %s %s', arg1, arg2)

На самом деле, если вы его не используете то вы делаете неправильно!⚠️

Если вам требуется указать в строке сообщения какой-либо аргумент то обычно это делается форматированием строки

logging.info('New value is %s' % value)

Или любой другой доступный нам способ

logging.info(f'New value is {value}')
logging.info(f'{value=}')

Кажется, всё логично, все так делают. Но нет, это ошибка! 😫

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

logging.debug(f'Current user: {user}')

Что произойдет?
Сообщение не попадает под установленный уровень логирования и будет проигнорировано. Это обрабатывается сразу же первой командой в вызываемой функции debug. Но при этом…
источник