Как стать автором
Обновить
404.52

Python *

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

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

Аналоги в Python и JavaScript. Часть четвертая

Время на прочтение4 мин
Количество просмотров8.6K

Четвертая часть серии статей про аналоги в Python и JavaScript.


В этой части: аргументы функций, создание и работа с классами, наследование, геттеры-сеттеры и свойства класса.


Краткое содержание предыдущих частей:


  1. Часть первая: приведение к типу, тернарный оператор, доступ к свойству по имени свойства, словари, списки, строки, конкатенация строк.
  2. Часть вторая: JSON, регулярки, ошибки-исключения
  3. Часть третья: современные Python и JS: строковые шаблоны (f-строки), распаковка списков, лямбда-функции, итерации по спискам, генераторы, множества.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии7

Организация регулярного дайджеста логов с помощью python и ansible на примере asterisk

Время на прочтение6 мин
Количество просмотров4K
Когда я создавал данный инструмент, я не был знаком с logwatch. Мне захотелось видеть ситуацию с логами на своих серверах в целом, и, так я сделал этот велосипед. Думаю, что данный механизм может помочь новичкам в понимании альтернативных возможностей ansible.

Используемые программные продукты:

  • python 2.7.14
  • ansible 2.3
  • сервера asterisk на базе FreePBX 13

Механизм состоит из двух частей – python скрипт, который занимается обработкой лог файла и отправкой отчета на почту, и плейбука для сбора логов с серверов и передачи их скрипту для обработки.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии2

Открытый вебинар «Асинхронное программирование в Python»

Время на прочтение1 мин
Количество просмотров4.9K
Всем привет!

Андрей Кравчук, преподаватель курса «Разработчик Python», провёл на прошлой неделе открытый урок на тему «Асинхронное программирование в Python», где, собственно, разбирались с организацией асинхронной обработки данных под высоконагруженные системы.


Как всегда ждём комментарии и вопросы здесь или можно зайти с ними к нам на день открытых дверей.
Всего голосов 12: ↑10 и ↓2+8
Комментарии1

Как писать только хороший код

Время на прочтение4 мин
Количество просмотров16K
В мае на Build 2018 мы представили расширение Visual Studio IntelliCode. Оно помогает писать код быстрее, избегать ошибок и предлагает разработчикам подсказки, предугадывая их цели. Несколько дней назад вышло обновление, значительно направленное в сторону улучшения взаимодействия с C#. Подробнее под катом!



Кстати, расширение уже работает и с Python.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии9

Истории

Численные методы решения систем нелинейных уравнений

Время на прочтение9 мин
Количество просмотров77K

Введение


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

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

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

(1)

Обозначим через вектор неизвестных и определим вектор-функцию Тогда система (1) записывается в виде уравнения:

(2)

Теперь вернёмся к всеми любимому Python и отметим его первенство среди языков программирования, которые хотят изучать [1].



Этот факт является дополнительным стимулом рассмотрения числительных методов именно на Python. Однако, среди любителей Python бытует мнение, что специальные библиотечные функции, такие как scipy.optimize.root, spsolve_trianular, newton_krylov, являются самым лучшим выбором для решения задач численными методами.

С этим трудно не согласится хотя бы потому, что в том числе и разнообразие модулей подняло Python на вершину популярности. Однако, существуют случаи, когда даже при поверхностном рассмотрении использование прямых известных методов без применения специальных функций библиотеки SciPy тоже дают неплохие результаты. Иными словами, новое- это хорошо забытое старое.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии0

ELDF — новый текстовый формат данных (альтернатива JSON)

Время на прочтение6 мин
Количество просмотров7.4K
Файл AppData\Local\Dropbox\info.json:
{
    "personal": {
        "host": 5060852864,
        "is_team": false,
        "subscription_type": "Basic",
        "path": "C:\\Users\\DNS\\Dropbox"
    }
}
В новом формате выглядит так:
 
personal
    host = 5060852864
    is_team = 0B
    subscription_type = Basic
    path = C:\Users\DNS\Dropbox


Читать дальше →
Всего голосов 46: ↑15 и ↓31-16
Комментарии76

Завещание Баффета или о чём молчат финконсультанты

Время на прочтение4 мин
Количество просмотров64K
У. Баффет завещал жене после своей смерти вложить все средства  в биржевой фонд ETF на S&P 500 (VOO) и жить в своё удовольствие. Однако книги, интернет и финконсультанты призывают нас составлять диверсифицированные портфели с обязательным включением в них облигаций. К слову, о диверсификации Баффет тоже отзывается не лестно и призывает все яйца хранить в одной корзине, просто внимательно за ней присматривать.

В данной статье мы попробуем разобраться, стоит ли верить оракулу из Омахи или прислушаться к финансовым консультантам. А поможет нам в этом Python и Quantopian.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии136

Telegram API демон — склеиваем последовательные сообщения

Время на прочтение3 мин
Количество просмотров18K

Пиши мысль в одном сообщении


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

Хватит это терпеть!


Переучивать себя я не собираюсь — не считаю это проблемой того кто пишет, ему так удобно — переучить миллионы людей сложнее чем научить одну программу. Сообщения должен склеивать сам клиент, чтобы было удобно всем, хотя бы опционально. От команды Telegram я этого так и не дождался — так что решил проблему при помощи небольшого клиента — демона на Python и решил поделиться с сообществом исходниками.
Подробности, исходники и описание под катом.
Всего голосов 42: ↑24 и ↓18+6
Комментарии104

Монитор заказов вместо кухонного термопринтера

Время на прочтение5 мин
Количество просмотров11K
Монитор заказов

Небольшой квест о замене кухонного принтера заказов в ресторане на табло заказов 24" монитор с raspberryPi за вечер. Это актуально практически для любой системы erp (все современные 1С системы в торговом оборудовании поддерживают чековые принтеры, аналогично и с другими системами).
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии43

Подборка @pythonetc, июль 2018

Время на прочтение4 мин
Количество просмотров8.7K
Это вторая подборка советов про Python и программирование из моего авторского канала @pythonetc. Предыдущие подборки:

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии6

Численные методы решения уравнений эллиптического типа

Время на прочтение5 мин
Количество просмотров20K

Введение


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

Для решения эллиптических уравнений в случае нескольких измерений используют численные методы, позволяющие преобразовать дифференциальные уравнения или их системы в системы алгебраических уравнений. Точность решения опреде­ляется шагом координатной сетки, количеством итераций и разрядной сеткой компьютера [1]

Цель публикации получить решение уравнения Пуассона для граничных условий Дирихле и Неймана, исследовать сходимость релаксационного метода решения на примерах.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии5

«Python выходит в лидеры»: кто и почему его использует

Время на прочтение4 мин
Количество просмотров32K
В январе Stack Overflow провели ежегодный опрос, в котором приняли участие 100 тыс. разработчиков из 183 стран. В этом году Python вновь приблизился к вершине рейтинга популярных языков: в прошлом году он оставил позади PHP, в этом ― обошёл C#.

При этом Python стоит на третьем месте в рейтинге наиболее любимых ЯП. Далее расскажем, почему и как его используют крупные корпорации и небольшие стартапы.

Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии77

Python — это медленно. Почему?

Время на прочтение9 мин
Количество просмотров84K
В последнее время можно наблюдать рост популярности языка программирования Python. Он используется в DevOps, в анализе данных, в веб-разработке, в сфере безопасности и в других областях. Но вот скорость… Здесь этому языку похвастаться нечем. Автор материала, перевод которого мы сегодня публикуем, решил выяснить причины медлительности Python и найти средства его ускорения.


Читать дальше →
Всего голосов 67: ↑59 и ↓8+51
Комментарии55

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Kivy — фреймворк для кроссплатформенной разработки №1

Время на прочтение7 мин
Количество просмотров74K

В мире кроссплатформенной разработки под мобильные платформы сейчас, наверное, как это не прискорбно, доминируют два фреймворка — Xamarin и React Native. Xamarin — потому что является «приемным сыном» компании Microsoft и, гордо размахивая костылями, активно пиарится последней, а React Native — отпрыск не менее известной Facebook, который с не меньшей долей гордости отращивает бороды уставшим на нем разрабатывать программистам. Для себя я уже давно нашел альтернативу, а тех, кто еще не знаком с фреймворком для кроссплатформенной разработки Kivy, добро пожаловать под кат…
Читать дальше →
Всего голосов 37: ↑26 и ↓11+15
Комментарии119

Django Channels – ответ современному вебу

Время на прочтение13 мин
Количество просмотров47K
В мире Django набирает популярность дополнение Django Channels. Эта библиотека должна принести в Django асинхронное сетевое программирование, которое мы так долго ждали. Артём Малышев на Moscow Python Conf 2017 объяснил, как это делает первая версия библиотеки (сейчас автор уже запилил channels2), зачем она это делает и делает ли вообще.

Прежде всего, дзен Python говорит, что любое решение должно быть единственное. Поэтому в Python всего минимум по три. Сетевых асинхронных фреймворков уже существует большое множество:

  • Twisted;
  • Eventlet;
  • Gevent;
  • Tornado;
  • Asyncio.

Казалось бы, зачем писать еще одну библиотеку и надо ли вообще.


О спикере: Артём Малышев независимый Python разработчик. Занимается разработкой распределённых систем, выступает на конференциях по Python. Артёма можно найти по никнейму PROOFIT404 на Github и в социальных сетях.
Всего голосов 44: ↑41 и ↓3+38
Комментарии35

Книга «Чистый Python. Тонкости программирования для профи»

Время на прочтение7 мин
Количество просмотров32K
image Привет, Хаброжители! Изучение всех возможностей Python — сложная задача, а с этой книгой вы сможете сосредоточиться на практических навыках, которые действительно важны. Раскопайте «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня.

Если у вас есть опыт работы со старыми версиями Python, вы сможете ускорить работу с современными шаблонами и функциями, представленными на Python 3.

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

Отрывок «Самое сумасшедшее выражение-словарь на западе»


Иногда вы наталкиваетесь на крошечный пример кода, который обладает поистине неожиданной глубиной — одна-единственная строка кода, которая способна многому научить, если хорошенько над ней поразмыслить. Такой фрагмент код — это как коан в дзен-буддизме: вопрос или утверждение, используемое в практике дзен, чтобы вызвать сомнение и проверить достижения ученика.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии8

История первого места на ML Boot Camp VI

Время на прочтение4 мин
Количество просмотров8.5K
Mail.ru уже не первый год проводит чемпионаты по машинному обучению, каждый раз задача по-своему интересна и по-своему сложна. Я участвую в соревнованиях четвертый раз, мне очень нравится платформа и организация, и именно с буткемпов начался мой путь в соревновательный machine learning, но первое место удалось занять впервые. В статье я расскажу как показать стабильный результат, не переобучившись ни на публичный лидерборд, ни на отложенные выборки, если тестовая часть существенно отлична от тренировочной части данных.

Задача


Полный текст задачи доступен по → ссылке. Вкратце: есть 10 гб данных, где каждая строка содержит три json'а вида «ключ: счетчик», некая категория, некая временная метка и идентификатор пользователя. Одному пользователю может соответствовать множество записей. Требуется определить к какому классу относится пользователь, первому или второму. Метрикой качества для модели является ROC-AUC, о ней отлично написано в блоге Александра Дьяконова[1].

Пример записи в файле

00000d2994b6df9239901389031acaac	5 {"809001":2,"848545":2,"565828":1,"490363":1} 
{"85789":1,"238490":1,"32285":1,"103987":1,"16507":2,"6477":1,"92797":2}	{}	39
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии13

Как работают библиотеки виртуального окружения

Время на прочтение5 мин
Количество просмотров10K
Вы когда-нибудь задумывались о том, как работают библиотеки виртуального окружения в Python? В этой статье я предлагаю ознакомится с главной концепцией, которую используют все библиотеки для окружений, такие как virtualenv, virtualenvwrapper, conda, pipenv.

Изначально, в Python не было встроенной возможности создавать окружения, и такая возможность была реализована в виде хака. Как оказалось, все библиотеки базируются на очень простой особенности интерпретатора питона.

Когда Python запускает интерпретатор, он начинает искать директорию с модулями (site-packages). Поиск начинается с родительской директории относительно физического расположения исполняемого файла интерпретатора (python.exe). Если папка с модулями не найдена, то Python переходит на уровень выше, и делает это до тех пор, пока не будет достигнута корневая директория. Для того, чтобы понять, что это директория с модулями, Python ищет модуль os, который должен лежать в файле os.py и является обязательным для работы питона.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии2

9 платных, условно-бесплатных и бесплатных программ для трекинга кода приложений

Время на прочтение9 мин
Количество просмотров19K
Трекинг кода must-have в среде разработки. Но вот насколько нужен этот же инструмент в продуктиве? Тот, кто лишь кропотливо собирает логи скажет «ну его нафиг, мой ELK меня не подводит» и будет по-своему прав. До поры до времени.


Протрейсить как следует
Всего голосов 32: ↑28 и ↓4+24
Комментарии12

Аналоги в Python и JavaScript. Часть третья

Время на прочтение5 мин
Количество просмотров8.1K

Продолжаем перевод серии статей про аналоги в Python и JavaScript


В прошлых выпусках мы опирались на синтаксис классических версий Питона (2.7) и JS на основе ECMAScript 5. В этот раз мы будем использовать новые функции которые появились в Питоне 3.6 и JS стандарта ECMAScript 6.


ECMAScript 6 — относительно новый стандарт поддерживаемый большинством современных браузеров. Для использования стандарта 6 в старых браузерах вам понадобиться Babel для перевода современных конструкций JS6 на кросс-браузерную поддержку.


В сегодняшней статье: переменные в строках, распаковка списков, лямбда-функции, итерирование без индексов, генераторы и множества (sets).

Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии8

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

Работа

Python разработчик
118 вакансий
Data Scientist
59 вакансий