Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

Отбор валидных мобильных номеров друзей «Вконтакте» на Python

Отбор валидных мобильных номеров друзей «Вконтакте» на Python

Многие, изучающие Python интересуются его использованием в связке с API Вконтакте. В VK имеется телефонная книга, она в более-менее нормальном формате отображает мобильные номера ваших друзей. А учитывая то, что далеко не каждый человек охотно оставляет там свой валидный (полный) номер телефона, будет весьма интересно и полезно написать скрипт, который будет отбирать исключительно валидные мобильные номера и выводить их в отдельную таблицу. Наша телефонная книга будет создавать CSV-файл, который впоследствии можно будет открывать, к примеру, в Excel.

Далее...

Свой сервис для загрузки альбомов на Python

Свой сервис для загрузки альбомов на Python

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

Для разработки возьмем Python. В нашем примере мы будем писать приложение для уже существующего проекта на Django. Итак, начнем.

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

Далее...

Разработка на Django под Windows при помощи Docker-machine

Разработка на Django под Windows при помощи Docker-machine

В этой статье мы поговорим о решении проблемы настройки окружения для разработки на Django в Windows.

В нашем примере воспользуемся такой связкой:

  1. Docker-machine.
  2. PyCharm.

А в Docker-machine используются:

  1. PostgreSQL.
  2. Data container для PostgreSQL.
  3. Redis.
  4. Непосредственно приложение на Django.

Далее...

Метаданные в SQLite

Метаданные в SQLite

Метаданные – это информация о данных в базе данных. Метаданные в SQLite содержат в себе информацию о таблицах и столбцах, в которых мы храним данные. Количество строк под воздействием оператора SQL – это метаданные. Количество строк и столбцов, возвращаемые в результирующий набор, также относятся к метаданным. Метаданные в SQLite могут быть получены с использованием команды PRAGMA. Объекты SQLite могут иметь атрибуты, которые являются метаданными. Наконец, мы также можем достать определённые метаданные от запроса таблицы sqlite_master системы SQLite.

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import sqlite3 as lite
import sys
 
con = lite.connect('test.db')
 
with con:
    cur = con.cursor()    
    cur.execute('PRAGMA table_info(Cars)')
    data = cur.fetchall()
    
    for d in data:
        print d[0], d[1], d[2]

В этом примере, мы пускаем в обращение команду PRAGMA table_info(tableName), чтобы получить некоторую метаинформацию о нашей таблице Cars.

Далее...

Вложение декораторов в Python

Вложение декораторов в Python

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

@AAA
@BBB
@CCC
def function(...):
    ...

равноценна следующей:

def f(...):
    ...
f = AAA(BBB(CCC(f)))

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

Последний декоратор в списке будет задействован первым и окажется самым глубоко вложенным.Далее...

Тестирование программного обеспечения: основные виды

Суббота, 9 апреля 2016 г.   Archy

Тестирование программного обеспечения: основные виды

Тестирование программного обеспечения – один из обязательных и крайне важных этапов разработки программного продукта. Задачи специалиста, выполняющего тестирование:

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

Далее...

5 Методов антиотладки, которые защитят ваше программное обеспечение

Суббота, 9 апреля 2016 г.   Archy Общие вопросы

5 Методов антиотладки

Публикуя программное обеспечение, мы привыкли писать в лицензионных соглашениях: «Обратная разработка, декомпиляция или дизассемблирование программы запрещено». Но во многих ситуациях подобные слова являются не лучшей защитой и требуется применение технических средств, обеспечивающих предотвращение инвертирования программного обеспечения и позволяющих защитить свои инновации от использования конкурентами.

Далее...

Альтернативы статическим методам Python

Альтернативы статическим методам Python

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

При таком способе функции не требуется передавать экземпляр класса. Например, следующая версия spam.py действует одинаково в Python 3 и 2.7(правда, в этой версии инструкция print отображает лишние круглые скобки при выполнении под управлением Python 2.7):Далее...

Слоты и обобщенные инструмены в Python

Слоты и обобщенные инструмены в Python

Фактически некоторые экземпляры со слотами вообще могут не иметь атрибут словаря __dict__, что может сделеать некоторые метапрограммы намного более сложными.

Обобщенные инструменты, которые получают списки атрибутов или обращаются к атрибутам, используя имена в виде строк, например, должны использовать более универсальные механизмы, чем атрибут __dict__. К таким механизмам можно отнести встроенные функции getattr, setattr и dir, способные отыскивать атрибуты в обоих хранилищах, __dict__ и __slots__. В некоторых случаях для полноты картины может потребоваться проверить оба источника атрибутов.

Например, экземпляры классов, где используются слоты, обычно не имеют атрибут словаря __dict__ - вместо него пространство для атрибутов в экземпляре выделяется с применением дескрипторов класса.

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

Обработка строк в Python

Обработка строк в Python

Для работы со строками Python предоставляет довольно богатые стандартные сред­ства (и еще более богатые инструменты, включенные в состав стандартной библиотеки).

Прежде всего, это оператор кщ1катенации +. Да, он записывается так же, как опера­тор арифметического сложения! И работает как с самими строками, так и со стро­ковыми значениями, хранящимися в переменных:Далее...