четверг, 31 марта 2011 г.

Python Создание анимированного графика # 23

Для того, чтобы уметь строить анимированный график, необходимо первоначально просто уметь строить график. Это описано в посте ранее.

Для того, чтобы оживить наш график, используется специальная функция библиотеки MayPlotLib - pylab.ion(). Но это не всё.

Технология такова: Используется цикл. Если вы хотите получить фиксированное количество кадров, то используется for, иначе - While. Перед получением нового кадра, мы стираем старый и добавляем новый.

среда, 30 марта 2011 г.

Python Построение графиков #22

Построение графика на язык Python можно сделать при использовании многих библиотек. Над этим вопросом я много поработал и сделал вывод - лучше всего использовать MatPlotLib.

По мнению многих программистов этот продукт работает быстрее всех. Хоть и молодой, но функций больше, чем в остальных. 

На этом сайте (http://sovety.blogspot.com/2007/10/9.html) перечислены все библиотеки по работе с графикой в Python, имеются сравнения.

Вот официальный сайт (http://matplotlib.sourceforge.net/), где имеется полная документация по этой библиотеке с огромным изобилием примеров. Но там всё на английском языке.

Рассмотрим самый простейший пример.
Нарисуем график вида y=f(x) (на данный момент без использования Glade)


воскресенье, 27 марта 2011 г.

Python Glade пример. Калькулятор # 21

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

Для начала создаём проект Glade, заполняем его элементами (кнопки, поля).
Теперь переходим к исходному коду вашего проекта:

вторник, 22 марта 2011 г.

Python Glade простейший пример # 20

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

Рассмотрим пошагово:

понедельник, 21 марта 2011 г.

Python Работа с Glade. Азы # 19

Если вы собираетесь работать с Glade в первые, то вам желательно прочитать предыдущий пост.

В этой статье будет рассматриваться, как связать проект Glade с вашей программой Python.

воскресенье, 20 марта 2011 г.

Python Начало работы с Glade # 18

Glade - это мощная платформа для создания оконных приложений на  Python.
В данном приложении мы создаём окно, все элементы к нему (надписи, кнопки, поля и т.д.), задаём события к элементам (если надо).

Специализируется Glade на создании GTK приложения, то есть для рабочего стола Gnome, но после компиляции будет работать везде.

В интернете можно встретить платформу wxPython. Лично я от неё отказался, она мне показалась неудобной и также я опирался на мнения знающих программистов. Для примера, большинство приложений дистрибутива Ubuntu, Debian были сделаны не без использования Glade (Gimp, GCalk, Synaptic...).

Для начала расскажу о ситуациях, где долго долбался из-за незнания, но всё же методом тыка и копания в интернет добился результата.

суббота, 19 марта 2011 г.

Python Словари # 17

Словари  - один из сложнейших типов данных в языке программирования Python.
Словарь можно охарактеризовать как изменяемый неупорядоченный набор пар
"ключ : значение".

Для того, чтобы лучше понять что это такое, вспомните как устроен англо-русский словарь:
dog - собака, apple - яблоко.
dog - это ключ, а собака - значение.

Синтаксис словаря выглядит следующим образом:

a = {'dog':'собака', ' apple':'яблоко'}

пятница, 18 марта 2011 г.

Python Списки # 16

В языке программирования Python списки, как и строки, являются упорядоченными последовательностями. Но в отличии от строк, списки состоят не из символов, а из объектов. Список находится между символами [..........]

пр. = [3, 5, 4, 748, 5466]


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

пр. a = [2, 4, 5, 6, 74] + [7878, 0, 968987, 5454654, 6546546]

Также можно из списков извлекать срез.

четверг, 17 марта 2011 г.

Python GTK Простейшее оконное приложение # 15

Для работы  с оконными приложениями используется библиотека GTK. На ней можно делать любые вещи связанные с окнами.

Естественно, чтобы использовать эту библиотеку, её надо импортировать.

Сейчас будет рассмотрен пример создания простого окна с кнопкой Hello World.

среда, 16 марта 2011 г.

Python Классы # 14

Класс - это пользовательский тип, состоящий из методов и атрибутов.

Инстанс (Вызов) класса создается путем вызова имени класса как функции с параметрами. Объект состоит из атрибутов и методов. 

Атрибут - это переменная, метод - это функция. Отличия метода от функции в том, что у него есть первый параметр - self.

Модель класса:

class имя_класса:
    инструкция 1
    ....
    инструкция N

вторник, 15 марта 2011 г.

Python Табулирование функций # 13

С помощью оператора цикла while удобно строить таблицы значений различных функций. Т.е. значения будут выстраиваться столбцами. По сути такие таблицы представляют собой список значений функции при различных значениях ее параметра.

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

понедельник, 14 марта 2011 г.

Python Альтернативные ветки программы # 12

Оператор условия if имеет расширенный формат, позволяющий проверять несколько независимых друг от друга условий и выполнять один из блоков, поставленных в соответствие с этими условиями. Синтаксис оператора выглядит так:

if условие_1:
    программа_1
 
elif условие_2:
    программа_2
 
elif условие_3:
    программа_3
...
else:
    программа если условия не удовлетворяются


воскресенье, 13 марта 2011 г.

Pithon Функции (def) # 11

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

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

Конструкция любой функции:


def название_функции(список параметров):
    программа

Правила выбора имени функции такие же, как у переменной. (см.Имена переменных # 3)

суббота, 12 марта 2011 г.

Python Цикл for # 10

В предыдущей статье уже рассматривался цикл while. Но это не единственный способ организации повторения какой либо "программы".

Также как и while, цикл for часто применяется. Используется для того, чтобы пройтись по упорядоченным элементам какого либо множества.

 Пример:

пятница, 11 марта 2011 г.

Python Цикл While # 9

Цикл - это выполнение одного и того же действия пока действует определённое условие. Применяется такой приём в программировании очень часто. Даже можно сказать, что нет ни одной сложной программы, где не использовался цикл.

Всего в языке Python два цикла: While, For. Сейчас будет рассматриваться While.

Также как и в операторе условия if, у цикла While имеется конструкция. Она довольна схожая.

while условие :
    программа


Пример:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def primer_9():
    a=0
    b=10
    while b>a:
        print ('цикл выполнился '+str(a)+' раз')
        a=a+1  
def main():
    primer_9()
    return 0
 
if __name__ == '__main__':
    main()

четверг, 10 марта 2011 г.

Операционная система




Данный вопрос ранее не поднимался, но это играет роль в работе программиста.

А какую ОС вы используете?

Хотелось бы услышать и от вас ответ.

По моему мнению для работы большее предпочтение в сторону UNIX систем.

Лично сам работаю на UBUNTU. Удобство во многом.
И самое главное  - НЕТ ВИРУСОВ.

Python Оператор условия If # 8

Операторы условия и выбора являются неотъемлемой частью любого языка программирования. Суть работы является следующее:
если действие удовлетворяет условию, то выполняется программа заданная пользователем, иначе выполняется следующая.

Работа с оператором условия проста. Необходимо только знать конструкцию.
if условие :
    программа при 
    удовлетворении условия
else :
    программа при 
    неудовлетворении условия
Вот пример программы:

среда, 9 марта 2011 г.

Python Операторы ввода и вывода информации на экран # 7

Запрос для значения переменных осуществляется с помощью операторов ввода. Сообщение о значении переменных и результаты арифметических вычислений реализуются с помощью операторов вывода.
В основном с операторов ввода или вывода начинается изучение любого языка программирования. В этом разделе мы ограничимся рассмотрением функции raw_input() и оператора print(). Ввод в Python производится с помощью клавиатуры, а вывод - на экран дисплея.

вторник, 8 марта 2011 г.

Python Вычисление сложных математических функций # 6

То, что сейчас будет описано применяется не часто, но знать это нужно обязательно. Имеется ввиду такие действия как вычисление квадратного корня, синуса, косинуса и др. Первым шагом обязательно надо импортировать библиотеку math. В ней и содержатся математические функции. Чтобы выполнить какое нибудь вычисление надо написать math.функция(значение)

Функции в библиотеке math:

math.ceil(x)
Возвращает округленное x как ближайшее целое значение типа float, большее или равное x (округление "вверх").

math.copysign(x, y)
Возвращает число x со знаком числа y. На платформе, поддерживающей знак нуля copysign(1.0, -0.0) даст -1.0.

math.fabs(x)
Возвращает абсолютное значение (модуль) числа x. В Python есть встроенная функция abs, но она возвращает модуль числа с тем же типом, что число, здесь же всегда float abs (fabs).

math.factorial(x)
Возвращает факториал целого числа x, если x не целое возбуждается ошибка ValueError.

понедельник, 7 марта 2011 г.

Python Работа со строками # 5

Простейшие операции уже были разобраны в предыдущей статье. Здесь будут описаны особенности, расширенные возможности.

P = ''    # Пустая строка
P = "C'est une pomme" # Строка в кавычках
block = """.......""" # Блоки в тройных кавычках
P = r'\tmp\home' # Неформатированные строки
P = u'pomme' #  Строки с символами Юникода
P * 3 # Повторять строку (3 раза)
P [1] # Обратиться к символу (к 1-у)
P [:-1] # Текст без последнего символа
P [5:16] # Срез от 5 до 16 символа
P.find('Pa') # Поиск
P.rstrip() # Удаление пробельных символов
P.replace('Pa','xx') # Заменить (pa на xx)
P.split(',') # Разбитие по символу-разделителю
P.isdigit() # Проверка содержимого
P.lower() # Преобразование регистра символов
P.endswith('pomme') # Проверка окончания строки
P.encode('latin-1') # Кодирование строк Юникода

# ======= специальные символы =======

\newline # Продолжение на новой строке
\\  # Остаётся один символ \
\'  # Апостроф (Остаётся один символ ')
\"  # Кавычки (Остаётся один символ ")
\a  # Звонок
\b  # Забой
\f  # Перевод формата
\n  # Новая строка
\r  # Возврат каретки
\t  # Горизонтальная табуляция
\v  # Вертикальная табуляция
\xhh  # Символ с шестнадцатеричным кодом hh 
\ooo  # Символ с восьмеричным кодом 000
\0  # Символ Null
\N{id}  # Id базы данных Юникода
\uhhhh  # 16-битный символ Юникода
\Uhhhhhhhh  # 32-битный символ Юникода

Пример программы:

воскресенье, 6 марта 2011 г.

Python Простейшие операции над строками # 4

В общем говоря над строками нельзя производить такие же действия, что и с числами. Но оператор + работает с текстом и означает сцепление строк.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

def primer_3(): # Объявление функции primer_2()
    a='Я'
    b=' программирую на языке'
    f=' Python'
    print (a+b+f+' :)') 
            # сцепляем строковые переменные a, 
         # b, f и 'текст' :)
def main():
    primer_3()
    return 0
 
if __name__ == '__main__':
    main()

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

суббота, 5 марта 2011 г.

Python Имена переменных # 3

Работа с переменными очень проста и уже рассказывалась ниже в примерах.

Но при работе столкнулся, что не любым именем можно называть переменные (выдаст ошибку). В таблице ниже перечислены имена, которыми нельзя называть переменные:


and              del              for              is              raise
assert              elif              from              lambda              return
break              else              global              not              try
class              except              if              or              while             
continue              exec              import              pass              yield             
def              finally              in              print 

пятница, 4 марта 2011 г.

Python Тип данных # 2

В языке программирования Python имеется несколько типов данных. Это может быть строка, целое число, дробное число. При выполнении программы в некоторых ситуациях необходимо поменять число на текст (меняется только тип данных, а сами данные остаются теми же).
Сейчас основные типы данных будут перечислены:
str() - строковый тип данных
inf() - целочисленный тип
float() - дробный
Например:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# ПЕРВЫЕ ДВЕ СТРОЧКИ КОТОРЫЕ ВЫ ВИДИТЕ ВЫШЕ
# НАДО ПИСАТЬ ОБЯЗАТЕЛЬНО

def primer_2(): # Объявление функции primer_2()
    a=1
    b=5
    f=a+b
    print ('f равно '+str(f)) 
            #str(f) - этим действием
            # переменная f из целого числа 
            # стала строкой. Без этого
            # программа выдала бы ошибку потому
            # что мы складываем текст "f  равно"
            # и значение переменной f

    print (int(-2.3)) 
            # здесь мы переводим дробное число
            # -2.3 в целое (отбрасывается остаток)

    print (float(15)) 
            # а тут наоборот целое число 15
            # преобразуем в дробное (выйдет 15.0) 
  
def main():
    primer_2()
    return 0
 
if __name__ == '__main__':
    main()

четверг, 3 марта 2011 г.

Python Синтаксис языка # 1

У каждого языка программирования свой синтаксис, но все они схожи. Python  в этом плане очень прост. Сейчас будет перечислено самое основное:
Во первых если элемент вложен в другой, то делается отступ как показано ниже
#!/usr/bin/env python
# -*- coding: utf-8 -*-

def a_d(): # создана функция a_d() 
 a=2
 b=5
 c=a+b
 print('c равно == ',c) # вывод на экран текта 
   # "с равно " и значение переменной c
def main():
 a_d()
 return 0

if __name__ == '__main__':
 main()


Во вторых, после объявления функции, цикла, класса ставится двоеточие

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



def silver(): # объявление функции silver()
    a=2 # присваиваем переменной а значение 2
    b=3
    c=a+b
    print (c) # операция вывода на экран значение
              # переменной c

def main():  
    silver()  # вызов функции silver()           
            
    return 0  

if __name__ == '__main__':
    main()


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

В предыдущем примере:
Функция main() запускается автоматически при запуске приложения. Функция silver() была вызвана и из-за этого выполнена.

И ещё, то что написано на одной строке после знака # является комментарием, а то есть не выполняется и никак не влияет на работу программы. Также если вы хотите закомментировать несколько строк, то их необходимо поставить между   """ и """. (как на примере ниже)


def silver(): # объявление функции silver()
    a=2 # присваиваем переменной а значение 2
    b=3
    c=a+b
    print (c) # операция вывода на экран значение
              # переменной c

def main():  
    silver()  # вызов функции silver()           
            
    return 0  

if __name__ == '__main__':
    main()


Ещё один пример:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def primer_11(object):
    print(object)
"""
Пример
Комментария

""" 
def main():
    primer_11("Silver")
    return 0

if __name__ == '__main__':
    main()

среда, 2 марта 2011 г.

Python Начало работы

Первым моим шагом, для того чтобы начать программирование, является установка Python. Инструкцию можно найти на этом сайте (для тех у кого установлена ОС Windows). Тот кто предпочел работать на linux системе установка не потребуется так как в Unix системе питон уже стоит.

После установки необходимо установить какой нибудь редактор. Для начала идеальным вариантом будет простой Gedit или Geany. Так как начинать изучение программирования желательно с консольных приложений сложные редакторы такие как Boa Constructor пока не понадобятся. Это будет потом.

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

вторник, 1 марта 2011 г.

Вступление

Спустя долгого проведения времени в интернет и вообще за компьютером, меня заинтересовало программирование. Начал с простого. Первое, что мной было сделано - это html страница, в которой содержался javascript код. Затем попробовал Ruby, но этот язык очень медленный. Java конечно очень быстрый, но в некоторых ситуациях не хватает библиотек, что усложняет работу. Ещё в школе, где я учусь преподают язык Pascal.

Но как то случайно столкнулся я с языком программирования под названием Python, который очень напоминает по написанию программы Ruby. Скорость Питона во много раз выше. Язык очень мощный и одновременно простой для понимания. Можно делать сложные приложения вообще без напряга пользуясь библиотеками Python.

Тем более этот язык находится на грани процветания. Мощные компании такие как Google финансируют проект Python.

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