Как стать автором
Поиск
Написать публикацию
Обновить
401.68

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга

TIOBE Software опубликовала январский рейтинг популярности языков программирования, в котором по сравнению с январём 2023 года выделяется перемещение языка JavaScript с седьмого на шестое место, языка PHP с 10 на 7 место, Scratch с 20 на 10 место (рост популярности на 0.83%), Go — c 12 на 11, Fortran — с 27 на 12 (+0.64%), Object Pascal — c 17 на 13, MatLab — с 15 на 14, Kotlin — с 25 на 17 и Cobol — с 31 на 20.

Языком года назван C#, который сохранил 5 место, но стал лидером по росту популярности (+1.43%).

За год снизилась позиция в рейтинге языков: Visual Basic — с 6 на 8 место, SQL — с 8 на 9, Ассемблер — с 9 на 15, Swift — c 11 на 16, Ruby — с 16 на 18, Rust — c 18 на 19 (при этом популярность Rust выросла на 0.18%).

Рейтинг продолжает возглавлять язык Python, но за год его популярность снизилась на 2.39%. Популярность языка C снизилась на 4.81%, C++ — на 2.95%, а Java — 4.34%.

Индекс популярности TIOBE строит свои выводы на основе анализа статистики поисковых запросов в таких системах, как Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube и Baidu.

В январском рейтинге PYPL, в котором используется Google Trends, тройка лидеров за год не изменилась: первое место занимает язык Python, далее следуют Java и JavaScript. Языки С/C++ поднялись на 4 место, вытеснив язык С# (год назад произошла обратная ротация). По сравнению с январём прошлого года выросла популярность R (+1), Rust (+1), Ada (+2), Dart (+2), Lua (+2), Perl (+1), Haskell (+1).

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_17

? Можете ли вы объяснить, как работает Prophet для прогнозирования временных рядов ? (Часть_2)

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

  2. Визуализация результатов: Prophet предоставляет инструменты для визуализации результатов прогнозирования. Он может построить график исходного временного ряда, прогнозируемых значений и доверительных интервалов, чтобы помочь пользователю оценить качество прогноза.

  • ? Телеграм-канал: t.me/DenoiseLAB (Если вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

Теги:
Рейтинг0
Комментарии0

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_17

? Можете ли вы объяснить, как работает Prophet для прогнозирования временных рядов ? (Часть_1)

  1. Декомпозиция временного ряда: Prophet автоматически декомпозирует временной ряд на несколько компонентов:

    • Тренд: Prophet моделирует гибкий нелинейный тренд, который может быть линейным или логистическим, в зависимости от данных.

    • Сезонность: Prophet обнаруживает и моделирует периодические сезонные компоненты, такие как ежедневные, еженедельные или ежегодные сезонности.

    • Праздники: Prophet позволяет включить информацию о праздниках и других событиях, которые могут влиять на временной ряд.

  2. Оценка компонентов: Prophet использует метод максимального правдоподобия для оценки параметров тренда, сезонности и праздников в данных. Он оптимизирует функцию потерь, которая учитывает как среднеквадратичную ошибку (MSE) для тренда, так и MSE для сезонности.

  • ? Телеграм-канал: t.me/DenoiseLAB (Если вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Доброго времени суток, сообщество Хабра!

На днях вышла статья, где мной проводился анализ задач через API Codewars. Для тех, кто не успел ознакомиться, можно пройти по ссылке: https://habr.com/ru/articles/783326/

В данной статье был проведён опрос, результаты которого определили, что сообщество желает посмотреть решение задачи в GitHub.

Поэтому сюда прикрепляю ссылку GitHub репозитория с анализом статистических данных CodeWars: https://github.com/Dess1996/CodeWarsStat/blob/main/Katas.ipynb

Благодарю всех, кто принял участие в опросе.

До новых встреч!

Теги:
Рейтинг0
Комментарии0

Состоялся релиз статического анализатора Mypy 1.8 (pypi.org). исходные код проекта выложен на GitHub под открытой лицензией MIT.

Новый выпуск проекта включает в себя новые функции, улучшения производительности и исправления ранее найденных разработчиками ошибок.

Mypy — статический анализатор типов для Python, который позволяет находить ошибки несоответствия типов в коде. Впервые инструмент Mypy показал Юкка Лехтосало на PyCon в октябре 2012 года. В декабре 2012 года вышел первый релиз. В 2016 году инструмент поддержал создатель Python Гвидо ван Россум. В феврале 2023 года вышла версия 1.0, а в марте 2023 — версия 1.1.1.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_14 (Часть_1)

Какие подходы могут помочь модели сохранить стабильность популяции при изменении данных?

  1. Кросс-валидация (Cross-Validation): Кросс-валидация позволяет оценить производительность модели на разных подмножествах данных. Например, метод k-fold cross-validation разбивает данные на k подмножеств, называемых фолдами. Модель обучается на k-1 фолдах и оценивается на оставшемся фолде. Этот процесс повторяется k раз, каждый раз используя разные фолды. Таким образом, модель оценивается на различных подмножествах данных, что помогает выявить ее стабильность популяции.

  2. Стратифицированная выборка (Stratified Sampling): При формировании обучающей и тестовой выборок можно использовать стратифицированный подход. Это означает, что при разделении данных на выборки будут сохранены пропорции классов или распределений признаков. Такой подход помогает уменьшить возможное искажение данных при изменении популяции.

    t.me/DenoiseLAB (Еесли вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Задача: найти среднее значение списка чисел 

Разберём задачу на Python, которая может встретиться на собеседованиях. Согласно условию, нужно найти среднее значение списка чисел.  

Решение задачи может выглядеть так: 

def find_average(numbers): 

    # Проверяем, что список не пустой, чтобы избежать деления на ноль 

    if len(numbers) == 0: 

        return 0  # Если список пустой, возвращаем 0

    # Вычисляем сумму всех чисел в списке 

    total = sum(numbers) 

    # Вычисляем среднее значение 

    average = total / len(numbers) 

return average

Пример использования:

numbers = [10, 20, 30, 40, 50] 

avg = find_average(numbers) 

print(avg)  # Вывод: 30.0 

Первым шагом в коде выше проходит проверка, что список numbers не пустой — это позволяет избежать деления на ноль и ошибок. Если список не пустой, вычисляем сумму всех чисел в списке с помощью функции sum(). Затем делим эту сумму на количество чисел в списке, чтобы найти среднее значение, и возвращаем его.

Теги:
Всего голосов 6: ↑4 и ↓2+2
Комментарии5

typing.Annotated

Annotated из модуля typing в Python предназначен для добавления метаданных к аннотации. Метаданные, добавленные с помощью Annotated, могут быть использованы инструментами статического анализа или во время выполнения. Во время выполнения метаданные хранятся в атрибуте __metadata__.

from typing import Annotated 

# Синтаксис: Annotated[тип_данных, метаданные]
def say_hello(name: Annotated[str, "this is just metadata"]) -> str:
    return f"Hello {name}"

Логика обработка метаданных зависит от фреймворка или библиотек, в которых используется Annotated. Если логики для обработки метаданных нет, то метаданные игнорируются.

Например, Annotated используется в Pydantic:

from typing import Annotated
from pydantic import Field, TypeAdapter

# Функция Field используется для настройки и добавления метаданных 
# к полям моделей. Field(gt=0) - значит greater than т.е. больше чем 0
PositiveInt = Annotated[int, Field(gt=0)]

# TypeAdapter предоставляет часть функциональности методов экземпляра
# BaseModel в т.ч. валидацию с использованием метаданных из Annotated
ta = TypeAdapter(PositiveInt)


print(ta.validate_python(1))
#> 1
print(ta.validate_python(-1))
#> pydantic_core._pydantic_core.ValidationError:

В первом случае вернёт 1, во втором ошибку валидации т.к. значение должно быть > 0.

Также Annotated используется в FastAPI.

Теги:
Рейтинг0
Комментарии0

Если ты готов участвовать в разработке цифрового ассистента Госуслуг и хочешь узнать всё о Роботе Максе изнутри, приходи на One Day Offer!

Прямо сейчас мы ищем:
— Разработчиков Python
— Data-scientist
— Product Owner
— Продуктовых аналитиков
— Инженеров по тестированию

Когда и где?
7 декабря в онлайне: без лишних собесов, тестовых заданий и бюрократии

Как попасть?

  1. Оставь заявку на участие

  2. Пройди предварительное онлайн-интервью и получи приглашение на ивент

  3. Подключайся на ивент, чтобы познакомиться с проектами поближе, пройти финальное собеседование и получить свой оффер

Узнать требования к кандидатам и подать заявку

❗️Последний день подачи заявки на участие — 5 декабря

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_9

?Вопрос_9: В чем разница между Rapids, Vaex, Pandas, Polars, Modin, Dask они же все для анализа данных ?

✔️Ответ:

  1. Pandas предоставляет гибкие структуры данных, такие как DataFrame, и мощные инструменты для манипуляции, фильтрации, агрегации и анализа данных. Pandas обычно используется для работы с небольшими и средними объемами данных, которые могут поместиться в оперативную память одного компьютера;

  2. Dask позволяет обрабатывать данные, превышающие объем доступной оперативной памяти, с использованием распределенных вычислений. Dask предоставляет абстракции, такие как DataFrame и Array, которые подобны структурам данных из Pandas и NumPyx;

  3. Polars обладает высокой производительностью благодаря использованию Rust в своей реализации, а также предлагает возможности параллельной обработки данных. Она может работать с большими объемами данных и поддерживает некоторые распределенные вычисления;

  4. Vaex использует ленивые вычисления и эффективные алгоритмы для выполнения операций над данными. Она обладает высокой производительностью и может работать с многопоточностью, многопроцессорностью и распределенными вычислениями;

  5. Modin предоставляет интерфейс, совместимый с Pandas, но с оптимизированной производительностью. Она использует различные движки обратной совместимости, такие как Dask и Ray, для распределенных и параллельных вычислений.

    https://t.me/DenoiseLAB

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Доброе время суток.

Решил с Вами поделиться скриптами, написанные на Python, для скачивания различных шоу\сериалов\фильмов с онлайн кинотеатров.

Делал для себя, не обессудьте)

Пока готовы скрипты для телеканала Пятница (https://friday.ru/) и ТНТ-Премьер (https://premier.one/)

Для ТНТ-премьер есть возможность использовать свою платную подписку

Используется yt-dlp, ffmpeg и Python (pycharm в частности)

Если нужны ещё сайты\кинотеатры - пишите, будем искать как скачивать.

Последние версии файлов находятся https://github.com/tas-unn/download_online/

Теги:
Рейтинг0
Комментарии1

LofiTray - любая онлайн-трансляция в фоновом режиме в Вашей панели задач!

Для нетерпеливых: инструкция ниже, а так же на гитхабе проекта

Предыстория:

Привет Хабр! На днях я лично столкнулся с проблемой: для комфортной работы люблю включать известный стрим на Lofi girl и работать под фоновую музыку, но каждый раз открывать его в браузере, занимать им лишнюю вкладку и занимать немало ресурсов ради фоновой вкладки.

Так родилась идея для проекта и несколько месяцев не доходили руки. На прошлой неделе меня угораздило приболеть и освободившиеся 3 вечера я посветил LofiTray (tray - так обычной называют значки на панели задач)

Что это такое вообще?

- Это утилита для виндовс. Она позволяет включать/выключать, а также выбирать трансляции с YouTube. Функционал минимальный, покрывающий выполнение конкретной задачи - играть музон на фоне и не более.

А это не вирус?

- Нет, не вирус. Для всеобщего спокойствия, проверил через VirusTotal. Можете проверить установщик/распакованную программу (лежит в папке dist в репозитории), да хоть сам проект с гитхаба.

Как скачать?

- По кнопке в инструкции на ГитХабе. Продублирую эти 2 пункта здесь:

  1. Если у Вас не установлен VLC media playerустановите его перед загрузкой LofiTray. С помощью API этого плеера программа воспроизводит трансляцию в фоновом режиме

  2. Скачайте и запустите установщик LofiTray ?скачать?

В ближайших планах починить отображение ошибок в windows 11. А в дальнейших - добавить полноценное gui-меню, так как уже есть запросы от друзей

Такие вот дела

Теги:
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Сегодня в 19:00 — Selectel Python Meetup. Три уровня погружения: процессы под капотом, архитектура кода, развитие языка

Включайте уведомление на YouTube, чтобы не пропустить начало.

Темы докладов

Мультипроцессность и сбор метрик в Python: как построить мониторинг без сюрпризов

Заносим микросервисы и Kubernetes в облако

Такое ли светлое будущее у Python?

Заполняйте форму регистрации, чтобы задать вопрос спикерам.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Ближайшие события

Релиз Wunjo AI 1.5.5. Что нового?

  • Добавлено клонирование голоса на русский язык.

  • Оптимизация анимации лица, сокрытие не нужных элементов, исправление ошибок работы с gif.

  • Улучшено отображение логов в консоли.

  • Индикатор занимаемого места на диске для результатов синтеза речи и дипфейков.

Дата выхода: 23.09.23.

Видео всех возможностей проекта с открытым исходным кодом для создания дипфейков, синтеза и клонирования речи.

Теги:
Рейтинг0
Комментарии0

Вебинар «Открытое собеседование на джуниор Python-разработчика»

Покажем, как проходит собеседование для новичков на позицию Python-разработчика. Вы узнаете, какие вопросы задают и как оценивают ответы кандидата. Опытные эксперты дадут рекомендации по подготовке и ответят на ваши вопросы о профессии. 

→ Бесплатно, 15 сентября 19:00 по Москве

Вебинар будет полезен:

  • Всем, кто интересуется программированием, но пока не определился с выбором профессии;

  • Начинающим Python-разработчикам;

  • Тем, кто недавно сам стал нанимающим менеджером.

Спикеры:

  • Антон Артиков, Middle Python developer в «Тензоре», выпускник курса «Мидл Python-разработчик» в Практикуме;

  • Константин Шперлинг, педагог по основам программирования, выпускник курса «Python-разработчик» в Практикуме;

  • Наташа Павлова, Python Team Lead, выпускница курса «Мидл Python-разработчик» в Практикуме.

Вебинар продлится 1,5 часа. Мы напомним о событии за час и за 15 минут, пришлем ссылку на вебинар, а после отправим полную запись.

→ Зарегистрироваться

Теги:
Рейтинг0
Комментарии0

Доступен выпуск проекта RustPython 0.3, развивающего интерпретатор языка программирования Python, написанный на языке Rust. RustPython нацелен на обеспечение совместимости с CPython 3.11 и более новыми выпусками. Проект основал Shing Lyu, один из разработчиков движка Servo и участник перевода CSS-движка Firefox на компоненты, написанные на языке Rust. Для оценки текущего состояния разработки можно использовать web-интерфейс с интерпретатором RustPython, скомпилированным в WebAssembly. Код распространяется под лицензией MIT.

RustPython состоит из парсера кода на Python в абстрактное синтаксическое дерево (AST), компилятора AST в байткод и виртуальной машины для выполнения байткода. Для ускорения выполнения предоставляется начальная реализация JIT-компилятора, преобразующего python-функции в машинный код. Поддерживается компиляция RustPython в форму универсального WASI-модуля на WebAssembly, который может запускаться в различных операционных системах.

Проектом также предоставляются средства для интеграции кода на языке Python в проекты на языке Rust, без применения биндингов на основе CPython - RustPython позволяет встраивать Python-конструкции непосредственно в код на языке Rust и использовать Python в качестве языка скриптования в приложениях. Из проектов, уже использующих RustPython, отмечаются СУБД GreptimeDB, игровой движок pyckitup, игра Robot Rumble и linter Ruff.

Источник: OpenNET.


Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Geeknote: консольный клиент для Evernote - заброшен, но вы можете стать его мантейнером.

Репозиторий: https://github.com/jeffkowalski/geeknote (уже не оригинальный, а форк, который тащили несколько лет)

Проект состоит в https://github.com/agarrharr/awesome-cli-apps#note-taking-and-lists

Оригинальный сайт http://web.archive.org/web/20180423130602/http://geeknote.me/

Оригинальное видео от первых авторов https://vimeo.com/45066341

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

Проект может быть интересен и полезен изучающим Python - тут вы сможете практиковаться и положить себе в CV что являетесь мантейнером этого проекта.

Я бы и сам, но нет на это времени :(

Только что добавил в Guru - это пользовательский репозиторий пакетов для Gentoo, как apt для Ubuntu или aur для Arch.

UPDATE я таки его форкнул https://github.com/vitaly-zdanevich/geeknote

Теги:
Рейтинг0
Комментарии1

Можно ли придумать что-то более классическое, чем решение задачи на удаление дубликатов из отсортированного массива? Не уверены, поэтому в новом выпуске «Алгоритмической качалки» взяли на разбор задачу №26 с Leetcode (Remove Duplicates from Sorted Array).

Предлагайте свои решения в комментариях, а также делитесь задачами, которые можно было бы разобрать в рамках «АК».

Рейтинг0
Комментарии3

А мы продолжаем тихой сапой захватывать ветку с постами в хабе Python и публикуем свежий выпуск «Алгоритмической качалки». В этот раз Альбина разбирала задачу под номером 58, которая звучит, как Length of Last Word. Кажется, что найти длину последнего слова в предложении довольно легко, но на самом деле пришлось приложить немного усилий, чтобы решить этот алгоритм.

Кстати, вы можете предлагать свои варианты решения в комментариях, а также предлагать задачи, которые Альбина возьмет на разбор в следующих выпусках.

Рейтинг0
Комментарии5

Доступен релиз Python-библиотеки для научных вычислений NumPy 1.25, ориентированной на работу с многомерными массивами и матрицами, а также предоставляющей большую коллекцию функций с реализацией различных алгоритмов, связанных с использованием матриц. NumPy является одной из наиболее востребованных библиотек, применяемых для научных расчётов. Код проекта написан на языке Python с применением оптимизаций на языке C и распространяется под лицензией BSD.

В новой версии:

  • Продолжена работа по улучшению обработки и продвижению новой инфраструктуры для класса dtype.

  • Увеличена скорость выполнения.

  • Началась подготовка к формированию выпуска NumPy 2.0.0, в котором будет прекращена поддержка некоторых устаревших возможностей. После достижения Python 3.12 стадии кандидата в релизы будет сформирован выпуск NumPy 1.26.0, после которого выйдет NumPy 2.0.0.

  • Обеспечено формирование wheel-пакетов на базе стандартной C-библиотеки musl.

  • Добавлена поддержка компилятора Fujitsu C/C++.

  • В функции einsum добавлена поддержка массивов объектов.

  • Добавлена поддержка умножения матриц по месту (без создания нового набора данных) с использованием оператора "@=".

Источник: OpenNET.

Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Вклад авторов