Zen of Python
20.1K subscribers
1.21K photos
161 videos
32 files
3.16K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Ответ к предыдущей задаче – [10, 6].
👍8👎1
CustomTkinter

CustomTkinter предлагает широкий набор современных
настраиваемых UI-элементов. Они могут использоваться также, как обычные Tkinter-виджеты, а также комбинироваться с существующими.

Ссылка на репозиторий

#tkinter
👍10
Что нового в Python 3.12

Собрали в статье основные фишки последнего обновления Python для тех, кому сложно (или не особо хочется) лезть в документацию.

#факты
👍11🤡62
​Как создать аналитический сайт на Python с нуля

В статье описывается, как создать блог с небольшим дашбордом по статьям с использованием Flask, Dash, Plotly и Docker.

#flask #plotly
👍11
Лайфхак для всех грейдов питонистов
👍40💩7😁6🤝2
dbt — достойный конкурент Apache Kafka

ПО специализируется на преобразовании данных в ETL-процессах. Работает на базе Jinja, SQL и Python.

Илья Тищенко, ведущий архитектор хранилищ данных в Ростелекоме, сделал подробный обзор продукта. В его статье вы узнаете:

— где именно в extract-transform-load инструмент даёт больше возможностей;
— как установить фреймворк;
— как создать проект и проч.

#dbt #etl
💩5🤡3👍21
Python стал самым популярным языком

В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.

#факты
❤‍🔥9👍6🤡5😁3👏2
Match для проверки типа

Порой трудно понять, что именно возвращает функция или метод. Не только содержимое, но и тип данных. Здесь помогут match и встроенные функции приведения к типам данных:

>>> var = 1
>>>
>>> match var:
>>> case str():
>>> print('Строковый тип')
>>> case float():
>>> print('Число с плавающей запятой')
>>> case int():
>>> print('Целочисленный тип')
>>> case None:
>>> print("None")
>>> case _:
>>> print('Другой тип данных')

... Целочисленный тип

#лучшиепрактики
👍17💩7🤡2
Media is too big
VIEW IN TELEGRAM
Работает – не трогай, или победитель рейтинга важнейших принципов программирования.

На видео – перекресток города Хошимин, Вьетнам.
💩11❤‍🔥3😁3👍2
Что выведет этот код?
Anonymous Quiz
3%
[1, 0]
3%
[0, 1]
41%
[0]
52%
[1]
👎92👏1
👎48👍2
Выгрузка файлов из мессенджера в облако

Пользователь viperadnan-git предлагает всем желающим развернуть свой экземпляр бота, который автоматически выгружает пересланные ему файлы в Google Drive.

Репозиторий на GitHub

#googledrive #telegram
2
Роадмап Fullstack Python Developer

В статье вы познакомитесь с актуальными в 2023 навыками для Python Developer и производных этой профессии.

#карьера
🤮17💩4
sqlite3 для работы с БД

В Python существует встроенный модуль для работы с базой на SQLite с поддержкой большинства команд:

import sqlite3

# Подключимся к базе orders
conn = sqlite3.connect('orders')
cur = conn.cursor()

# Отобразим всю таблицу addons
cur.execute('SELECT * FROM addons')
cur.fetchone()

#SQL
👍6😁1
pyproject.toml вместо pyproject.cfg

В PEP-518 предложили хранить конфиги для всех инструментов в файле pyproject.toml, в разделе tool.TOOL_NAME. Например:

[tool.mypy]
файлы = ["мой_проект"]
версия_python = 3.8

На данный момент почти все популярные инструменты так или иначе поддерживают pyproject.toml в качестве конфигурационного файла: mypy, pytest, cover, isort, bandit, tox и т. д. Единственное исключение — flake8.

До .toml многие инструменты использовали setup.cfg для той же цели, но этот формат имеет несколько недостатков: он плохо стандартизирован, и единственным поддерживаемым типом значений является строка.

#PEP
9👍2
ItsDangerous: защита данных

При передаче данных между различными веб-запросами существует риск инъекции вредоносного кода. ItsDangerous добавляет к данным уникальную подпись, которая позволяет убедиться в том, что данные не были подделаны.

pip install -U itsdangerous

>>> from itsdangerous import URLSafeSerializer
>>> auth_s = URLSafeSerializer("secret key", "auth")
>>> token = auth_s.dumps({"id": 5, "name": "itsdangerous"})
>>>
>>> print(token)

...eyJpZCI6NSwibmFtZSI6Iml0c2Rhbmdlcm91cyJ9.6YP6T0B
👍7
Основные принципы ООП: полиморфизм

Рассказали в статье о восьми преимуществах полиморфизма в ООП, в каких случаях он используется, а также привели наглядный пример.

#ООП
👍7👾2
Генерируем HTML с Python

Библиотека yattag позволяет создавать HTML-страницы прямо внутри Python-кода:

from yattag import Doc

doc, tag, text = Doc().tagtext()

with tag('div', id='photo-container'):
doc.stag('img', src='/salmon-plays-piano.jpg', klass="photo")

print(doc.getvalue())

В результате мы получаем самозакрывающиеся теги:

<div id="photo-container"><img src="/salmon-plays-piano.jpg" class="photo" /></div>

Профиль на PyPi

#html
👎4👍3
math.fsum: получаем сумму float без «осложнений»

Тип float печально известен своей неточностью. Когда вы складываете два числа, результат может содержать небольшую ошибку. И чем больше чисел, тем выше ошибка:

sum([0.8] * 1_000)
# 799.9999999999887 вместо 800

Если вы хотите устранить это недоразумение, используйте math.fsum():

import math

math.fsum([.8] * 1_000)
# 800.0

#math
👍201
InstaAPI — low-code конструктор API

С помощью InstaAPI вы сможете легко создавать собственные API.

Вы получите доступ к библиотеке блоков кода, которые помогут создать логические компоненты и воплотить ваши идеи в реальность. Одним из преимуществ InstaAPI является встроенная SQL-база данных.

#API
🤔6👍2
http-status-codes.png
780.4 KB
Шпаргалка состояний HTTP-запросов для тех, кто любит requests, и не только.

#http
🔥10👍1