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

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

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

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

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

Стена группы

Загрузка...
3 года назад
#
Как я программирую на Python

Часто с началом нового проекта программист не в состоянии увидеть полную картину — он не знает с чего начать, где получить информацию, сколько ее получить, при этом есть шанс засесть за документацией надолго пока не пропадет желание что-либо делать. Я относительно часто делаю проекты «для души» в ранее незнакомых областях, например, программировал микроконтроллеры, делал свой segway, проектировал на ПЛИС свой микропроцессор, делал плагины под Counter-Strike, софт к купюроприемникам и другие проекты, в которых на старте был абсолютным нулем.

Использование Python

Одной из последних была задача рендеринга 3д-объектов, которая описана на хабре в статье habrahabr.ru/post/248153. Я решил создать по ней видеоуроки, которые описывают мой подход к решению задачи с нуля. Я попытался описать последовательность моих действий как это было на самом деле, конечно, ускорив некоторые моменты и вырезав места, где я бывало затуплял минут на 20 пока не выяснял где же накосячил.

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

На данный момент я выложил 3 видеоурока, еще 2 уже записаны и монтируются. Гитхаб с уроками github.com/ef-end-y/PythonLessons. Правда, поздно спохватился и начал выкладывать только с 3-го урока.

Парсим obj-файл:



Подробнее
3 года назад
#
Пишем свой канал-бот для Telegram как у Хабра на Python

Недавно ко мне обратился друг с просьбой написать бота, импортирующего новости из RSS-канала на сайте в Telegram-канал. Огромнейшим плюсом данного способа оповещения являются push-уведомления, которые приходят каждому подписанному пользователю на его устройство. Уже давно хотелось заняться чем-то подобным. Недолго думая, в качестве образца я выбрал канал Хабра telegram.me/habr_ru. В качестве языка программирования был выбран Python.

В итоге, мне надо было решить следующие проблемы:

Парсинг RSS.
  • Одним из условий был отложенный постинг сообщений (если после того, как новость была выложена, в течение n часов её скрыли/удалили/переименовали, то она не должна быть опубликована, вместо нее отправляется оповещение о корректной новости)

  • Постинг сообщений в телеграм.

  • Сокращение целевой ссылки с помощью сервиса bit.ly


От себя добавил еще:
  • Ведение логов с помощью библиотеки (logging).

  • Обработка конфига (configparser).


1. Отложенный постинг сообщений

Для решения данной проблемы было принято решение использовать SQLite базу данных. Для работы с БД использовалась библиотека SQLalchemy.

Структура до банального проста — всего одна таблица. Код объекта представлен ниже:

class News(Base):

    __tablename__ = 'news'
   id = Column(Integer, primary_key=True) # Порядковый номер новости
   text = Column(String) # Текст (Заголовок), который будет отправлен в сообщении
   link  = Column(String) # Ссылка на статью на сайте. Так же отправляется в сообщении
   date = Column(Integer)
   # Дата появления новости на сайте. Носит Чисто информационный характер. UNIX_TIME.
   publish = Column(Integer)
   # Планируемая дата публикации. Сообщение будет отправлено НЕ РАНЬШЕ этой даты. UNIX_TIME.
   chat_id = Column(Integer) 
   # Информационный столбец. В данное поле логируется чат, в который было отправлено сообщение
   message_id = Column(Integer) 
   # Информационный столбец. В данный столбец логирует внутренний идентификатор сообщения в канале. 

    def __init__(self, text, link, date, publish=0,chat_id=0,message_id=0):
        self.link = link
        self.text  = text
        self.date = date
        self.publish = publish
        self.chat_id = chat_id
        self.message_id = message_id

    def _keys(self):
        return (self.text, self.link)

    def __eq__(self, other):
        return self._keys() == other._keys()

    def __hash__(self):
        return hash(self._keys())

   def __repr__(self):
        return "<News ('%s','%s', %s)>" % (base64.b64decode(self.text).decode(),\
        base64.b64decode(self.link).decode(),\
        datetime.fromtimestamp(self.publish))
        # Для зрительного восприятия данные декодируются


Для хранения текстовой информации и ссылок использется base64, форматом хранения даты-времени был выбран Unix Timestamp.

Подробнее
4 года назад
#
Python Meetup 27.03.15: machine learning, python AST и статистика игроков World of Tanks

Традиционно в последнюю пятницу месяца состоялся Python Meetup. В мартовском митапе с приглашенными спикерами мы разобрались в следующих темах:
  • Машинное обучение на Python

  • Как устроен Python AST и какие интересные факты есть у диалекта Ну

  • Как при помощи Requests, Asyncio и Aiohttp перестать использовать многопоточный код


Видео и ссылки на презентации смотрите под катом. Приятного просмотра!

Python Meetup

Machine learning with Python / Олег Шидловский
Web developer Doist

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



Читать далее
4 года назад
#
PyOpenGL с шейдерами

habrahabr.ru

PyOpenGL

В предыдущей статье были рассмотрены основы работы с OpenGL в Python. Для вывода графики использовались встроенные функции модуля glut и фиксированный конвейер OpenGL без шейдеров. По просьбе пользователей habrahabr.ru, на базе предыдущего урока был создан шаблон PyOpenGL приложения, использующего шейдеры и буферные объекты.
Роскошной графики, как и в предыдущей статье, ожидать не стоит. Цель данной статьи — продемонстрировать возможность работы с шейдерами и буферными объектами с использованием модуля PyOpenGL.

Итак, для работы нам понадобятся:

  • Интерпретатор языка Python (ссылка).

  • Среда разработки PyCharm (ссылка) (или любая другая на ваш вкус, подойдет даже блокнот).

  • Библиотека PyOpenGL (ссылка).





4 года назад
#
xbmcswift2 — микро-фреймворк для написания плагинов к Kodi (XBMC)

habrahabr.ru

Вступление

Это, так сказать, «бонусная» статья в моей серии статей о плагинах к медиацентру Kodi (XBMC). Прежде всего, необходимо отметить, что, начиная с версии 14.0, популярный медиацентр меняет название с XBMC на Kodi. О причинах смены названия можно почитать на официальном сайте и форуме, и для нашей статьи они не принципиальны. Однако дальше в статье будет использоваться новое название — Kodi.

Предыдущие статьи

Подробная анатомия простого плагина для XBMC
Пишем плагин для XBMC с собственным интерфейсом: часть I — теория и простейший пример
Пишем плагин для XBMC с собственным интерфейсом: часть II — диалоги и украшателства
Пишем плагин для XBMC с собственным интерфейсом: часть III — API и микро-фреймворк

4 года назад
#
Анализ дружеских связей VK с помощью Python

Совсем недавно на Хабре появилась статья о реализации дружеских связей в ВКонтакте с помощью Wolfram Mathematica. Идея мне понравилась, и, естественно, захотелось сделать такой же граф, используя Python и d3. Вот, что из этого получилось.

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

Разобьем задачу по элементам:

  1. Создание и авторизация приложения.

  2. Получение данных.

  3. Визуализация графа.


Что для этого нам понадобится:
  1. Python 3.4

  2. requests

  3. d3

  4. Mozilla FireFox, так как в Chrome нельзя использовать XMLHttpRequest для загрузки локальных файлов (никто не мешает сделать python -m http.server 8000)



4 года назад
#
Анализ дружеских связей VK с помощью Python. Продолжение

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

Начнем с того, что просто скачать все id пользователей достаточно легко, список валидных id можно найти в Каталоге пользователей Вконтакте. Наша же задача — получить список друзей выбранного нами id пользователя, их друзей и рекурсивно сколь угодно глубоко, в зависимости от указанной глубины.

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

Как будем реализовывать:

  1. Задаем нужную нам глубину

  2. Отправляем исходные данные либо те id, которые надо исследовать на данной глубине

  3. Получаем ответ


Что будем использовать:
  1. Python 3.4

  2. Хранимые процедуры в ВКонтакте...


4 года назад
#
Как в Яндексе используют PyTest и другие фреймворки для функционального тестирования

habrahabr.ru

Всем привет! Меня зовут Сергей, и в Яндексе я работаю в команде автоматизации тестирования сервисов монетизации. Перед каждой командой, которая занимается задачами автоматизации тестирования, встает вопрос: «Какой [фреймворк|инструмент] выбрать для написания своих тестов?» В этом посте я хочу помочь вам на него ответить. Если быть конкретнее, речь пойдет об инструментах тестирования на языке Python, но многие из идей и выводов можно распространить на другие языки программирования, поскольку подходы часто не зависят от конкретной технологии…

python

17 18

Авторизация

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

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

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

КАРКАМ

Нетология