Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Post #4346
2.59K
ZE @zen_of_python
Showing posts older than #4347 · Back to latest
Forwarded from Типичный программист



-X, -H, -d, --compressed и другие, чтобы команда точно отражала параметры исходного запроса. Благодаря опции pretty=True можно получить красиво отформатированную, многострочную cURL-команду, удобную для чтения и вставки в консоль. Библиотека заботится о безопасности и корректности, надежно экранируя кавычки и специальные символы для совместимости с командной строкой.
print() стоит освоить встроенный модуль logging. print() не имеет уровней важности (debug, info, error…);
import logging
logging.basicConfig(level=logging.INFO)
logging.info("Программа запущена")
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s"
)
2025-07-07 14:00:00,123 [INFO] Программа запущена
logging.basicConfig(
level=logging.INFO,
filename='app.log',
filemode='a',
format="%(asctime)s [%(levelname)s] %(message)s"
)
getLogger(name) позволяет создавать независимые логгеры с именем:
logger = logging.getLogger("myapp")
logger.setLevel(logging.DEBUG)
logger.debug("Отладочная информация")
handler = logging.FileHandler("debug.log")
handler.setLevel(logging.DEBUG)
console = logging.StreamHandler()
console.setLevel(logging.WARNING)
formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s")
handler.setFormatter(formatter)
console.setFormatter(formatter)
logger = logging.getLogger("myapp")
logger.addHandler(handler)
logger.addHandler(console)
logger.setLevel(logging.DEBUG)
shebang: что это и как запускать скрипты в CLI без слова python?#!, за которыми идёт путь к интерпретатору, который должен выполнить этот скрипт:
#!/usr/bin/env python3
print("Hello world")
chmod +x myscript.py
chmod +x misc/*.py
./myscript.py
#!/usr/bin/python3
#!/usr/bin/env python3
env ищет в текущем окружении пользователя нужный интерпретатор по имени python3 и запускает его. Это значит, что не важно, где установлен Python, скрипт всё равно будет работать, если python3 доступен в PATH../myscript.py), система не поймет, каким интерпретатором его запускать, и выдаст ошибку. number_to_bits с аргументом number = 6;bits;number последовательно изменяется от 6 до 3, потом до 1, затем до 0 divmod(number, 2)), а остаток (remainder) вставляется в начало списка bits;[1, 1, 0], что соответствует двоичному представлению числа 6.
Forwarded from Типичный программист



pip — это менеджер пакетов по умолчанию для Python 2 / 3 (где «двойка» не установлена;pip3 — это явно указанный менеджер пакетов для Python 3.pip и pip3 будут работать одинаково.
pip --version # pip 20.0.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)
pip3 --version # pip3 21.2.4 from /usr/lib/python3.8/site-packages/pip (python 3.8)