Python стал самым популярным языком
В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.
#факты
В августе 2023 года Python стал лидером индекса TIOBE – рейтинга самых популярных языков мира, опередив C и C++. На графике отображается процент опрошенных, считающих Python своим основным ЯП.
#факты
❤🔥9👍6🤡5😁3👏2
Match для проверки типа
Порой трудно понять, что именно возвращает функция или метод. Не только содержимое, но и тип данных. Здесь помогут 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
👎92👏1
Выгрузка файлов из мессенджера в облако
Пользователь viperadnan-git предлагает всем желающим развернуть свой экземпляр бота, который автоматически выгружает пересланные ему файлы в Google Drive.
Репозиторий на GitHub
#googledrive #telegram
Пользователь viperadnan-git предлагает всем желающим развернуть свой экземпляр бота, который автоматически выгружает пересланные ему файлы в Google Drive.
Репозиторий на GitHub
#googledrive #telegram
❤2
sqlite3 для работы с БД
В Python существует встроенный модуль для работы с базой на SQLite с поддержкой большинства команд:
#SQL
В 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]
На данный момент почти все популярные инструменты так или иначе поддерживают pyproject.toml в качестве конфигурационного файла: mypy, pytest, cover, isort, bandit, tox и т. д. Единственное исключение — flake8.
До .toml многие инструменты использовали setup.cfg для той же цели, но этот формат имеет несколько недостатков: он плохо стандартизирован, и единственным поддерживаемым типом значений является строка.
#PEP
В 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 добавляет к данным уникальную подпись, которая позволяет убедиться в том, что данные не были подделаны.
При передаче данных между различными веб-запросами существует риск инъекции вредоносного кода. 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
Генерируем HTML с Python
Библиотека yattag позволяет создавать HTML-страницы прямо внутри Python-кода:
В результате мы получаем самозакрывающиеся теги:
Профиль на PyPi
#html
Библиотека 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 печально известен своей неточностью. Когда вы складываете два числа, результат может содержать небольшую ошибку. И чем больше чисел, тем выше ошибка:
Если вы хотите устранить это недоразумение, используйте math.fsum():
#math
Тип float печально известен своей неточностью. Когда вы складываете два числа, результат может содержать небольшую ошибку. И чем больше чисел, тем выше ошибка:
sum([0.8] * 1_000)
# 799.9999999999887 вместо 800
Если вы хотите устранить это недоразумение, используйте math.fsum():
import math
math.fsum([.8] * 1_000)
# 800.0
#math
👍20❤1
InstaAPI — low-code конструктор API
С помощью InstaAPI вы сможете легко создавать собственные API.
Вы получите доступ к библиотеке блоков кода, которые помогут создать логические компоненты и воплотить ваши идеи в реальность. Одним из преимуществ InstaAPI является встроенная SQL-база данных.
#API
С помощью InstaAPI вы сможете легко создавать собственные API.
Вы получите доступ к библиотеке блоков кода, которые помогут создать логические компоненты и воплотить ваши идеи в реальность. Одним из преимуществ InstaAPI является встроенная SQL-база данных.
#API
🤔6👍2
Асинхронное варение MongoDB в Python
Уютный доклад старшего разработчика компании Элитриум Даниила Неслуховского c недавней яндексовской конференции Pytup.
За эти 50 минут можно вспомнить типы БД, узнать про Object Mapping, Beanie и прочие компоненты.
Запись трансляции (доклад на 04:32)
#mongodb
Уютный доклад старшего разработчика компании Элитриум Даниила Неслуховского c недавней яндексовской конференции Pytup.
За эти 50 минут можно вспомнить типы БД, узнать про Object Mapping, Beanie и прочие компоненты.
Запись трансляции (доклад на 04:32)
#mongodb
🥰5🔥1
NaN – число с плавающей запятой
И это довольно нелогично:
Будьте осторожны и используйте math.isnan() для проверки на равенство NaN.
#факты
И это довольно нелогично:
import math
>>> sorted([5.0, math.nan, 10.0, 0.0])
... [5.0, nan, 0.0, 10.0]
>>> 3 < math.nan
... False
>>> 3 > math.nan
... False
>>> min(3, math.nan)
... 3
>>> min(math.nan, 3)
... nan
Будьте осторожны и используйте math.isnan() для проверки на равенство NaN.
#факты
👍9
Вышел Python 3.11.5
Новая версия:
— точнее указывает на причину ошибки в трейсбеке;
— позволяет использовать файлы.toml для конфигов;
— позволяет группировать задачи с asyncio и многое другое.
Ссылка на дистрибутив
#факты
Новая версия:
— точнее указывает на причину ошибки в трейсбеке;
— позволяет использовать файлы.toml для конфигов;
— позволяет группировать задачи с asyncio и многое другое.
Ссылка на дистрибутив
#факты
❤🔥18👍5🔥2
Бессмертие объектов
В Python 3.12 в рамках CPython некоторые объекты, такие как
Каждая новая ссылка на такой синглтон побуждала интерпретатор инкрементировать счетчик ссылок, как с обычными объектами. Это приводило к проблемам с производительностью.
Что означает "бессмертие" (immortality) и как оно решает эту проблему, читайте в англоязычной статье на mail.python.org.
#факты
В Python 3.12 в рамках CPython некоторые объекты, такие как
None
, True
и False
действуют как глобальные синглтоны (паттерны, ограничивающие возможность создания объектов данного класса одним экземпляром). Они совместно используются интерпретатором вместо того, чтобы каждый раз создавать их новые копии.Каждая новая ссылка на такой синглтон побуждала интерпретатор инкрементировать счетчик ссылок, как с обычными объектами. Это приводило к проблемам с производительностью.
Что означает "бессмертие" (immortality) и как оно решает эту проблему, читайте в англоязычной статье на mail.python.org.
#факты
👍21