Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен.

Основная информация

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

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

Рейтинг: 1
Создана 7 лет назад
Владелец root

Стена группы

Загрузка...
2 года назад
#

Три неочевидных примера использования шаблонизаторов в backend-е



С одной стороны, предмет действительно был квадратным. C другой стороны он был круглым. Но с третьей стороны, с которой должен быть треугольник, предмет вышел кривой и косой.



— Алешенька идет на совещанку? — в дверь просунулась Леночкина заинтересованная физиономия.
— Алешенька на совещанку не идет. Алешенька пишет статью.
— О кубиках?
— Каких еще кубиках? — я опустил глаза, в руках и правда был злосчастный кубик. То есть шарик. То есть ромбик.
— Не о кубиках! И не о шариках. О шаблонах.
— Я им так и скажу! Шаблон, ах. — Леночка уже бежала дальше по коридору.



«О шаблонах. Даже о трех разных шаблонах». Точнее, о трех причинах использовать шаблоны в серверном коде. И ни одна из этих причин не будет про HTML.



В примерах я использовал синтаксис Mustache, в силу лаконичного синтаксиса и наличия реализаций для всего, что движется. Mustache практически не позволяет себе вольностей в отличии от, например .Net Razor, который позволяет кодировать внутри шаблона, подавая тем самым плохой пример некрепким духом разработчикам.



Примеры кода будут на python. Реализация Mustache под пайтон называется pystache.



Итак, три причины впустить шаблоны в свою жизнь свой код.



Источник
2 года назад
#

Рекомендации в Okko: как заработать сотни миллионов, перемножив пару матриц



Rekko — персональные рекомендации в онлайн-кинотеатре Okko



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



К счастью, у нас есть Rekko — система персональных рекомендаций, которая уже год успешно помогает пользователям Okko выбирать фильмы и сериалы из более чем десяти тысяч единиц контента. В статье я расскажу вам как она устроена с алгоритмической и технической точек зрения, как мы подходим к её разработке и как оцениваем результаты. Ну и про сами результаты годового A/B теста тоже расскажу.



Источник
2 года назад
#

Указатели в Python: в чём суть?





Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам управления памятью. А есть ли указатели в Python, можно их как-то эмулировать?

Указатели широко применяются в С и С++. По сути, это переменные, которые содержат адреса памяти, по которым находятся другие переменные. Чтобы освежить знания об указателях, почитайте этот
обзор.

Благодаря этой статье вы лучше поймёте модель объектов в Python и узнаете, почему в этом языке на самом деле не существуют указатели. На случай, если вам понадобится сымитировать поведение указателей, вы научитесь эмулировать их без сопутствующего кошмара управления памятью.

Источник
2 года назад
#

Решение японских кроссвордов c P̶y̶t̶h̶o̶̶n̶ Rust и WebAssembly



Rust logo as nonogram



Как сделать решатель (солвер) нонограмм на Python, переписать его на Rust, чтобы запускать прямо в браузере через WebAssembly.



TL;DR



Источник
2 года назад
#

Что внутри asyncio



В этой статье я предлагаю читателю совершить со мной в меру увлекательное путешествие в недра asyncio, чтобы разобраться, как в ней реализовано асинхронное выполнение кода. Мы оседлаем коллбэки и промчимся по циклу событий сквозь пару ключевых абстракций прямо в корутину. Если на вашей карте питона еще нет этих достопримечательностей, добро пожаловать под кат.



Источник
2 года назад
#

Восстановление данных с XtraDB таблиц без файла структуры, используя побайтовый анализ ibd файла



image



Предыстория

Так произошло, что сервере был атакован вирусом шифровальщиком, который по «счастливой случайности», частично отставил не тронутыми файлы .ibd (файлы сырых данных innodb таблиц), но при этом полностью зашифровал файлы .fpm (файлы структур). При этом .idb можно было поделить на:



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


Источник
2 года назад
#

Возможности Python 3, достойные того, чтобы ими пользовались



Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет
прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как код со скобками, написанный на Python 2. По его словам, он и сам грешит
чем-то подобным. Здесь он приводит примеры некоторых замечательных возможностей, доступных лишь тем, кто пользуется Python 3. Он надеется, что эти возможности облегчат жизнь тем, кто о них узнает.



Все примеры, приведённые в этом материале, написаны с использованием Python 3.7. В описании каждой возможности имеются сведения о минимальной версии Python, необходимой для её применения.

Источник
2 года назад
#

Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки



Для всех хабравчан, у которых возникло ощущение дежавю: Написать этот пост меня побудили статья «Введение в Python» и комментарии к ней. К сожалению, качество этого «введения» кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда «C++ быстрее Python», «Rust ещё быстрее C++», «Python не нужен» и т.д. Удивительно, что не вспомнили Ruby!



Как сказал Бьярн Страуструп,



«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует».

Добро пожаловать под кат всем, кто хотел бы познакомиться с Python, не опускаясь при этом до грязных ругательств!



Источник
Den
2 года назад
#

Как я данные с BLE-градусника от Xiaomi забирал



Предыстория: в качестве одного из хобби у меня случился «Умный дом». Хочется красивых устройств, но при этом ещё хочется свободы и приватности. Поэтому занимаюсь скрещиванием ужика Xiaomi с ёжиком
Home Assistant.

Для поддержания комфортных условий нам нужно знать, а что вообще у нас дома происходит. Короче говоря, нужны сенсоры. Их у Xiaomi есть много разных, но больше всего мне понравился квадратный градусник на электронных чернилах. Вот только он совсем не умный, в том смысле, что не предоставляет вообще никаких интерфейсов, кроме графического – ни тебе WiFi, ни BLE, ни ZigBee. Зато батарейки CR2032 хватает на несколько лет. Есть ещё версия с блютусом, но она чуть менее изящная – эдакий толстый блинчик.

И вот в начале весны был анонсирован новый датчик температуры/влажности, на электронных чернилах, с BLE, да ещё и с часами. Часы мне не особенно-то и нужны, а вот всё остальное немедленно подавило все рациональные доводы и градусник был заказан на одном из популярных интернет-магазинов, по предзаказу. Ехало оно ехало, и наконец приехало.



В приложение MiHome датчик добавился без проблем (у меня англоязычный интерфейс везде, с русской версией MiHome, говорят, были трудности перевода). Показывает текущие значения и историю изменения показаний.

А вот с интеграцией в Home Assistant приключились сложности. Имеющийся компонент для датчика температуры ни в какую не хотел забирать данные с устройства и жаловался на неверный формат данных. Ну, делать нечего, достаём лопату и начинаем копать.

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

Источник
2 года назад
#

Вейвлет – анализ. Часть 2



Введение

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

Целью настоящей публикации является описание методики непрерывного вейвлет- преобразования временных рядов средствами библиотеки PyWavelets…

Немного истории

Инженер-геофизик Д. Морле в конце 70-х годов XX в. столкнулся с проблемой анализа сигналов от сейсмодатчиков, которые содержали высокочастотную компоненту (сейсмическая активность) в течение короткого промежутка времени и низкочастотные составляющие (спокойное состояние земной коры) – в течение длительного периода. Оконное преобразование Фурье позволяет анализировать либо высокочастотную составляющую, либо низкочастотную составляющую, но не обе составляющие сразу.

Поэтому, был предложен метод анализа, в котором ширина оконной функции для низких частот увеличивалась, а для высоких частот – уменьшалась. Новое оконное преобразование получалось в результате растяжения (сжатия) и смещения по времени одной порождающей (так называемой скейлинг-функции – scaling function, scalet) функции. Эта порождающая функция была названа вейвлетом Д. Морле.

Вейвлет Д. Морле
from pylab import*
import scaleogram as scg
axes = scg.plot_wav('cmor1-1.5', figsize=(14,3))
show()




Источник
2 года назад
#

Парсинг авито в 30 строчек на Python вместо онлайн-сервисов


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

Звук плохой, потому что я только потом понял что писал на вебкамеру, а не на Samson Meteor mic (usb-микрофон).

Сам скрипт https://vk.com/doc928041_499283785

2 года назад
#

Python Junior подкаст. Разбираем код Telegram-бота GoLocal


Новая серия code review от нашей команды дотошных питонистов. На сей раз разбору подвергся код предназначенного для организации волонтёрских активностей Telegram-бота GoLocal (написан на базе фреймворка Telegram Bot API). Операцию ведут тимлид NVIDIA Злата Обуховская, сооснователь W12 и соорганизатор Moscow Python Conf++ Михаил Осипов, соорганизатор Moscow Python Conf++ и сооснователь Itcanfly Владимир Филонов. Они объясняют, зачем код даже простого бота целесообразно разносить по разным модулям, в чём ужас хардкод-логирования ошибок, как без лишних манипуляций реализовать многоязычность в программе на Python, чем полезен middleware и как всё-таки называть переменные правильно.

2 года назад
#

Установка Python 3 на Windows 10


2 года назад
#

Анализ статистики по рекламным кампаниям — создаем в DataFrame новую метрику (python)



Для маленьких клиентов (а также для клиентов, у которых сложная для анализа многоканальность) я слежу за чистым CPC (клики, CTR, цена клика, отказы).

Задача: понять какая рк работает эффективней и, исходя из этого, отредактировать ставки.

Для этого я в аналитике использую стоимость полезного клика (CUC — Cost per Useful Click). Данный показатель учитывает стоимость клика, и показатель отказов.

Формула: Cost/Clicks*((100-BounseRate)/100)

Объясню простым языком:

Мы получили 200 кликов за 2000₽, процент отказов 20%. Значит действительно полезных кликов мы купили 80шт,

2000₽/80 = 25₽

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

Источник
2 года назад
#

Практическое использование D-Wave 2000Q: крутая кривая обучения квантовым вычислениям



Переосмыслить концепцию задачи тяжело, но результат стоит того



Примечание автора: я знаю, что неправильно вычислил перенос Брэгга как в классическом, так и в квантовом случае; однако, это достаточно близко к правде для того, чтобы понять разницу между программированием классического и квантового компьютера.

Время: где-то в 2018 году. Место: тухлый канал в Слаке.

«Ты знаешь Python?»

Вопросы Джона Тиммера, научного директора Ars Technica, иногда могут застать врасплох. Если бы в Слаке можно было пропитывать буквы осторожностью, то мой ответ «Да» просто сочился бы ею.

Оказывается, что D-Wave решила дать всему миру доступ к своему квантовому оптимизатору через API. Ars пригласили его опробовать, но нужно было знать Python. Я был готов на это.

Источник
1 2 4 5

Авторизация

Войдите, используя Ваш аккаунт

Войти с помощью

Пользователи

Skyeng
GeekBrains
Lingualeo