Pull to refresh
44
0
ahtox74 @ahtox74

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

Send message

Осваиваем Python. Унция 2. Ветвления, циклы + практика.

Reading time4 min
Views91K
image
Простые конструкции в языке Python: ветвления и циклы имеют свои особенности по сравнению с другими языками. Поэтому я всё же решил потратить на это время и рассказать. Материал совсем простой!
Так же по просьбам читающих добавил в конец статьи разбор простой программки для наглядной демонстрации пройденного материала.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments63

Ещё немного о компоновке и виджетах

Reading time9 min
Views5K
Это продолжение серии статей о PyGTK.

В предыдущей статье мы подготовили Windows и Ubuntu для разработки PyGTK приложений, работали с редактором интерфейсов Glade, рассмотрели горизонтальный и вертикальный типы компоновки, использовали область прокрутки и текстовый редактор, вертикальную группу кнопок, кнопки, и, немного, сигналы. В результате у нас получилось первое настоящее кросплатформенное приложение, которое успешно работало в Ubuntu и Windows. Если вы не читали предыдущую статью, я рекомендую вам начать именно с неё.

В этой статье мы создадим простую игру, а по ходу дела ещё немного узнаем о компоновке, продолжим знакомство с виджетами PyGTK, и поработаем с диалогами.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments13

Компоновка — начало начал

Reading time5 min
Views15K
В этой статье я расскажу о компоновке элементов интерфейса в PyGTK. Мы будем использовать дизайнер интерфейсов Glade и сделаем первое кросплатформенное приложение на PyGTK.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments25

Программирование на PyQt4. Часть 1

Reading time9 min
Views18K
Данный цикл статей является работой одного очень креативного и умного человека с ником Liksys. Благодаря хорошим людям он получил инвайт и продолжение этого цикла статей будет безусловно! ;)

image

Часть №1


       Когда люди говорят о Qt, многим из нас сразу вспоминается KDE с его обилием настроек. Программисты следом представляют исходники, написанные на C++ с весьма изящным подходом к решению проблемы. И это вполне оправданно: KDE — это, пожалуй, самый известный Qt-проект, а сама Qt написана на C++ и предназначена в первую очередь именно для него. За долгое время существования этого инструментария он стал своеобразным стандартом в Linux для написания графических приложений наряду с GTK, wxWidgets и т.д. Мощь языка C++ дала возможность создать много отличных программ, а стиль Qt является образцом для подражания многих программистов.
А о чём тогда разговор?
Total votes 70: ↑64 and ↓6+58
Comments32

Программирование на PyQt4. Часть 2

Reading time7 min
Views12K
Благодаря хорошим людям автор этого цикла статей получил инвайт и все последующие статьи будут опубликоваться им, поэтому не присваивайте эту работу мне. Я просто его друг. ;)
image
Читать 2-ую часть
Total votes 55: ↑52 and ↓3+49
Comments53

О блоге PyGTK

Reading time2 min
Views5K
С удивлением обнаружил, что на хабре вообще ничего нет о таком замечательном кросплатформенном GUI фреймворке, как PyGTK, хотя статьи по Питону бывают регулярно. Ну что ж, исправим это недоразумение :-)

Чем же так хорош PyGTK и о чём я собираюсь писать в этом блоге ?
Total votes 66: ↑55 and ↓11+44
Comments46

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

Reading time2 min
Views4.7K
Понятно, что собственно сложения ассоциативных массивов (они же хеши, 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


Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments20

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

Reading time3 min
Views30K
События
События это важная часть GUI программирования. События генерируются пользователями или же системой. Когда мы вызываем метод exec() приложение запускает основной цикл. Он получаем события и отправляет их объектам. Trolltech представляет уникальный механизм сигналов и слотов.
Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments8

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

Reading time5 min
Views19K
Главное окно
Класс 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_())

Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments10

PyQt4 — Введение

Reading time7 min
Views93K
Python
PyQt4 это тулкит для разработки GUI приложений. Он представляет из себя смесь языка программирование Пайтон (Питон) и библиотеки Qt. Qt – одна из наиболее мощных библиотек на этой планете. Если не самая мощная. Официальный сайт PyQt www.riverbankcomputing.co.uk разработан Филом Томпсоном.
PyQt4 представляет из себя набор модулей Пайтон. Она содержит более 300 классов и почти 6000 функций и методов. Это мультиплатформенный тулкит. Он работает на всех основных операционных системах, включая Unix, Windows и MacOS.
Начиная с версии PyQt4 GPL доступна для всех поддерживаемых платформ.
Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments29

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

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

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

def empty_func():
    pass

Начинается объявление с ключевого слова def, что как не сложно догадаться является сокращением от define. После него идет имя функции. После имени в круглых скобках задается список параметров, в данном случае отсутствующих.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments21

Ежедневный Git

Reading time3 min
Views98K
Уже были статьи про основы гита (0, 1, 2), были и статьи про внутреннее устройство репозитория. Сегодня поговорим, как простому смертному работать с гитом на автопилоте и не морочить себе голову.

Во-первых, шорткаты (в порядке убывания популярности):

alias gst='git-status'
alias ga='git-add'
alias gc='git-commit -m'
alias gp='git pull && git push'
alias gull='git pull'
alias gush='git push'
alias gb='git-branch'
alias gco='git-checkout'
alias gd='git-diff'

Во-вторых, отображение текущей ветки в командной строке:
export PS1='`__git_ps1 "%s"` \w \$ '

Выглядит так:
lazy-args-in-futures ~/Work/io/oleganza-io.git $

(Как установить: ericgoodwin.com/2008/4/10/auto-completion-with-git)

Типичный поток работы в одной ветке
Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments36

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

Reading time3 min
Views217K
List comprehensions

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

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

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

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

В общем-то, полученный результат — целиком нас устраивает всем, кроме длинной записи. тут-то на помощь и придет наш «сахарок». В самом простом виде, он обычно
выглядит так:
Total votes 1: ↑1 and ↓0+1
Comments83

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

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

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

В общем, те кому не интересно — читают следующую новость, а остальных — прошу пройти
под кат
Total votes 46: ↑38 and ↓8+30
Comments58

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

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

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)

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

Так, что же необходимо новичку для изучения Пайтона?
Total votes 2: ↑2 and ↓0+2
Comments195

ICFPC-2008: первые впечатления

Reading time10 min
Views683

Введение


Есть такой ежегодный программерский конкурс, ICFP Contest — то есть, International Conference on Functional Programming Contest. Конкурс довольно известный, в русскоязычной среде популяризованный отчетами Адепта, так что я очень кратенько изложу его основные принципы.

Конкурс проходит раз в год, игра командная, задания выдаются на сайте конкурса, решения присылаются туда же. Игра идет трое суток, можно прожить их нон-стопом, можно спать и есть, как все нормальные люди. :) Есть так же так называемый lightning round, то есть отдельное призовое место среди решений, присланных в первые сутки игры.

Задания в выгодную сторону отличаются от классических олимпиадных задачек. В 2006м и 2007м годах это были чудесные квесты от программирования, с написанием собственных компиляторов эзотерических языков под эзотерические виртуальные машины; до того, и в этом году, программирование логики поведения объекта в некотором виртуальном мире.

Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments49

Основы языка программирования Python за 10 минут

Reading time9 min
Views1.3M
Python Logo

На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

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


Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments163

Deep in Cocoa

Reading time6 min
Views3.9K
в этой статье я попытаюсь рассказать немного больше о Cocoa и его основных принципов. Скажу сразу, что материал не будет всеобъемлющим, поэтому матчасть учим здесь.

Откройте XCode и создайте новое Cocoa Application, назовите его DotView. Что будет делать наша программа? Она будет рисовать на компоненте NSView точку. Что такое NSView? Это базовый класс для графических виджетов Cocoa, поэтому если вы хотите создать свой собственный виджет, то скорее всего это будет наследник NSView.
Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments18

Создание программ для Mac OS X. Часть 2: средства разработки и создание простого приложения

Reading time5 min
Views25K
В этой части я расскажу вам о средствах разработки приложений под Mac OS X Leopard. Скажу сразу, что буду рассматривать только те, которые предоставляются самой Apple. Другие IDE существуют, но они обычно кроссплатформенные (например Code::Blocks), так что рассказывать о них лучше не в этой статье.

Так вот, на диске с Лео идет инструментарий разработчика Mac OS X — набор необходимых программ и фреймворков для создания приложений. Устанавливается все это дело(приложения, документация, куча примеров, разные полезные утилиты, etc.) в папку /Developer.

После установки имеет 4 основных приложения для разработки:
1. XCode — основная IDE
2. Interface Builder — программа для создания интерфейсов прораммы, хотя ее возможности куда шире
3. Instruments — средство для слежения за программой
4. Dashcode — программа для создания виджетов для Dashboard
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments49

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

Reading time4 min
Views257K
Поскольку число положительных отзывов превысило число отрицательных, продолжу выкладывание уроков. Те кто уже знаком с основами — можете или просто пропустить урок, или попробовать сделать задание 3 самым коротким способом :)

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

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

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

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

Строки

Существует множество способов задать строку в Пайтоне...
Total votes 55: ↑49 and ↓6+43
Comments108

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Registered
Activity