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

Python *

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

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

"Складываем" хеши в Python ("синтаксический сахар")

Время на прочтение2 мин
Количество просмотров5K
Понятно, что собственно сложения ассоциативных массивов (они же хеши, dict-ы и т.п. в разных языках) не существует, т.к. совершенно неочевидно, что оно должно давать. Но иногда удобно иметь простую легкочитаемую операцию, которая бы легко и просто объединяла хеши. Особенно это удобно когда есть ряд хешей и вам нужно оттуда взять несколько ключей с разным приоритетом. Если нет значения в первом, то проверяем второй, если нет и там, то третий, и т.п.
У вас есть 4 хеша global_config, local_config, db_row, user_info
Чуть ниже хабраката я покажу как жуткую конструкцию из 4 строк
values = global_config.copy()
values.update(local_config)
values.update(db_row)
values.update(user_info)
Записать в одну
values = global_config + local_config + db_row + user_info


Читать дальше →

PyQt4 — Сигналы и события

Время на прочтение3 мин
Количество просмотров30K
События
События это важная часть GUI программирования. События генерируются пользователями или же системой. Когда мы вызываем метод exec() приложение запускает основной цикл. Он получаем события и отправляет их объектам. Trolltech представляет уникальный механизм сигналов и слотов.
Читать дальше →

PyQt4 — Управление расположением виджетов

Время на прочтение6 мин
Количество просмотров33K
Важной частью программирования является управление расположением элементов. Управление расположением это то, как мы размещаем виджеты на форме. Тут есть два пути: использование абсолютного позиционирования (absolute positioning) или же использование классов расположения (layout classes).
Читать дальше →

PyQt4 — Меню и панели инструментов

Время на прочтение5 мин
Количество просмотров19K
Главное окно
Класс QMainWindow представляет собой главное окно приложения. С его помощью можно создавать классический вид со строкой состояния, панелями инструментов и меню.

Строка состояния
Строка состояния это виджет, который используется для отображения статусной информации.
#!/usr/bin/python

import sys
from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle('statusbar')

        self.statusBar().showMessage('Ready')

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

Читать дальше →

PyQt4 — Введение

Время на прочтение7 мин
Количество просмотров93K
Python
PyQt4 это тулкит для разработки GUI приложений. Он представляет из себя смесь языка программирование Пайтон (Питон) и библиотеки Qt. Qt – одна из наиболее мощных библиотек на этой планете. Если не самая мощная. Официальный сайт PyQt www.riverbankcomputing.co.uk разработан Филом Томпсоном.
PyQt4 представляет из себя набор модулей Пайтон. Она содержит более 300 классов и почти 6000 функций и методов. Это мультиплатформенный тулкит. Он работает на всех основных операционных системах, включая Unix, Windows и MacOS.
Начиная с версии PyQt4 GPL доступна для всех поддерживаемых платформ.
Читать дальше →

Приручение py-rrdtool

Время на прочтение4 мин
Количество просмотров13K
Как говорится в одной древней мудрости: можно вечно наблюдать три вещи: как горит огонь, как течёт вода и как рисует графики rrdtool. Этот пост как раз о последнем.
И так, что же такое rrdtool? rddtool — замечательная утилита, которая позволяет управлять данными, хранимыми в формать rrd (round-robin database). Данный формат примечателен тем, что изначально предназначен для хранения периодичной информации, причём так, что размер самой БД получается фиксированным (довольно небольшим) независимо от количества данных. При этом сохраняется возможность получать отчёты за продолжительные отрезки времени с произвольной точностью. Наибольшее распространение данная система нашла в системах мониторинга, где, как говорится, лучше один раз увидеть картинку, чем 7 раз прочитать логи. В конце статьи Вы сможете получить нечто, похожее на

пример


Читать дальше →

Основы Python — кратко. Часть 5. Определение функций, основы.

Время на прочтение3 мин
Количество просмотров169K
Начав писать главу про ООП, понял что совсем забыл освятить такой большой и нужный раздел Пайтона как функции. Тема это большая и обширная, потому, чтобы не сильно растягивать паузу между уроками, решил разделить ее на 2 части. Сначала расскажу основы, потом уже углубленные особенности Пайтоновского функциестроения.

Функции в Пайтоне объявляются не просто, а очень просто. Вот пример самой простой:

def empty_func():
    pass

Начинается объявление с ключевого слова def, что как не сложно догадаться является сокращением от define. После него идет имя функции. После имени в круглых скобках задается список параметров, в данном случае отсутствующих.
Читать дальше →

Отладка в Python с помощью консоли

Время на прочтение1 мин
Количество просмотров5.1K
Обычно библиотеки python хорошо документированы. Однако случается, что иногда документации не хватает, особенно если речь заходит о веб-фреймворках и о каком-нибудь параметре request с десятком-другим свойств.

Здесь на помощь может прийти обычная питоновская консоль, которая может услужливо вывалиться в нужный момент прямо посреди исполнявшегося кода веб-сервиса.
Читать дальше →

Основы Python — кратко. Часть 4. Генераторы списков

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

Продолжим наш цикл уроков. Добрый день.

Генерация списков

Генерация списков (не знаю как адекватно перевести на русский list comprehensions) — яркий пример «синтаксического сахара». То есть конструкции, без которой легко можно обойтись, но с ней намного лучше :) Генераторы списков, как это не странно, предназначены для удобной обработки списков, к которой можно отнести и создание новых списков, и модификацию существующих.
Допустим, нам необходимо получить список нечетных чисел, не превышающих 25.
В принципе, только познакомившись с работой команды xrange решить эту проблему несложно.

>>> res = []
>>> for x in xrange(1, 25, 2):
...     res.append(x)
...
>>> print res 

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

Отчёт о EuroPython 2008

Время на прочтение2 мин
Количество просмотров954
EuroPython — это ежегодная европейская конференция, посвящённая языку программирования Python.

В этом и прошлом годах конференция проводилась в столице Литвы, Вильнюсе. В следующем году она, вероятно, будет проводиться Бирмингеме (по традиции через каждые два года конференция переезжает).
Читать дальше →

Основы Python — кратко. Часть 3. Списки, кортежи, файлы.

Время на прочтение5 мин
Количество просмотров396K
В общем-то последняя из готовых глав. Остальные будут выходить чуть реже, поскольку еще не написаны (но я уверен что будут, хотя это зависит только от ваших пожеланий, уважаемые читатели :)

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

В общем, те кому не интересно — читают следующую новость, а остальных — прошу пройти
под кат

Основы Python — кратко. Строки.

Время на прочтение4 мин
Количество просмотров258K
Поскольку число положительных отзывов превысило число отрицательных, продолжу выкладывание уроков. Те кто уже знаком с основами — можете или просто пропустить урок, или попробовать сделать задание 3 самым коротким способом :)

Для начала маленькое замечание.

Начиная с Python 2.3, всем, кто использует не-ASCII кодировку нужно добавлять указание о кодировке в самом начале программы. Для русского языка это будет в основном:
# -*- coding: cp1251 -*-

или использовать для хранения исходных текстов файлы utf-8 (что предпочтительней).

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

Строки

Существует множество способов задать строку в Пайтоне...

Основы Python в кратком изложении

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

Python для начинающих. Глава первая. «О чем это мы»

На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
Python (читается как «Пайтон» а не «питон») — скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
В наше время Пайтон – широко распространенный язык, который используется во многих областях:
— Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
— Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
— Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
— Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)

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

Так, что же необходимо новичку для изучения Пайтона?

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

Переименование процессов в Python

Время на прочтение4 мин
Количество просмотров6.7K
Когда пишешь многопроцессное приложение на питоне хочется иметь какой-то максимально простой способ мониторинга за работой отдельных процессов. Я сейчас не говорю про детальные аналитические отчеты на 10 страницах, а про получение минимальной информации о здоровьи и работе каждого процесса: чем он сейчас занят, насколько грузит систему, сколько памяти отожрал и т.п. Примерно как nginx или postgres сообщают о себе: одного взгляда в top либо ps достаточно, чтобы понять что и как делает каждый процесс.
Осталось разобраться как это можно сделать в питоне на ОС Linux (на примере Debian и FC).
Читать дальше →

Бесконечные циклы

Время на прочтение1 мин
Количество просмотров14K
Как ивестно простейший способ получить диапазон чисел в Python это использовать range(). range возвращает список но когда нужно пройтись по большому диапазону лучше использовать xrange(), который вместо списка, возвращает итератор. Но как быть, когда конец диапазона не известен, а использовать while True кажется не эстетичным.
Очень просто:
from itertools import count
for i in count(1): DoSomeWith(i)

Разумеется как только мы получим результат, можем спокойно сделать break.

Python-проекты в Google Summer of Code 2008

Время на прочтение1 мин
Количество просмотров2.3K
Небольшой обзор Python-проектов, представленных в Google Summer of Code 2008. Помимо всего прочего, идеи, поданные на GSoC, демонстрируют направления развития этих проектов. Например, Zope-сообщество возлагает большие надежды на Grok; в Mercurial нужно дописать новые вещи, а в Django «доточить» старые.

  • Django — самый популярный из web-фреймворков на Python — идеи
  • Mercurial — распределенная система контроля версий, написана на Python — идеи
  • MoinMoin — вики-движок — идеи
  • Plone — CMS на базе сервера приложений Zope — идеи
  • Python/core — собственно само ядро Python — идеи
  • TurboGears — веб-фреймворк, написан на Python — идеи
  • wxPython — одна из трех майнстримовых GUI-библиотек — идеи
  • Zope—сервер приложений, использует компонентую архитектуру, ориентирован на web — идеи


Кратко идеи этих проектов на русском языке озвучены в блоге pyobject.

Доклад по Python

Время на прочтение1 мин
Количество просмотров14K
В докладе описаны основные возможности языка python.
Кратко, понятно, с примерами. Приведены некоторые сравнения с другими языками.
Этот доклад будет полезен начинающим программировать на python, а также тем, кто выбирает язык программирования для своей задачи.
Первая, вторая и третья части доклада.

Написание приложений, основаных на Qt, на языке Python

Время на прочтение5 мин
Количество просмотров120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →

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