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

Списки Python (list)

     Списки в Pynton - изменяемые объекты, в которые входят как числа так и строки, и сами списки, могут иметь многоуровневую вложенность, работают очень быстро. Для списков подходят все операции которые использовались и для строк. Объекты списков хранятся в квадратных скобках [].

 Рисунок 1 
     На рис1 показано создания списка с помощью цикла  for, то есть каждая буква прописывается 4 раза и затем сохраняется в списке.

 Рисунок 2
      На рис2 показано создание списка с применением цикла for и функции append, более простым способом по сравнению с первым примером. Более полную информацию можно найти на сайте
   Конкатенация также применима к спискам, для безошибочной работы операции конкатенации следите за типами данных, они должны быть одинаковыми, в противном переведите данные в соответствующий тип используя функции для строк str() и int() для чисел.

  

понедельник, 16 мая 2011 г.

Python отличие использования метода format от %

Рисунок 1 Особенности format
       Для редактирования строк в Python используется метод Format. С его помощью можно разбивать большие и вещественные числа на разряды, указав предварительно точность округления(для вещественных). Самым большим плюсом метода Format можно отнести, перевод десятичного числа в бинарное, просто подставим в фигурных скобках символ b(рис1 последняя строка), что означает бинарный, в отличии от метода  %(статья),  который в этом случае вызывает ошибку, все действия описанные в этом параграфе приведены на (рис1). 

воскресенье, 15 мая 2011 г.

Python форматирование строк с помощью функции format

Рисунок 1 Примеры использования функции format 
Для вставки значений(данных) в строки(предложения), используются фигурные скобки{}, в которых прописывают цифры, от 0 и до количества вставляемых объектов в строку,  также как показано на рис1 нумерацию в фигурных скобках {} можно вести в произвольном порядке, также в фигурных скобках можно указывать точность вставляемых обьектов для вещественных типов данных, указывать тип выводимых данных используя Таблицу Спецификаторы формата (рис2). 


Рисунок 2 

Изменение строк в Python с помощью выражений форматирования строк

Для вставки какого-нибудь значения в строку используется символ % и за ним идет буква, которая означает какой тип данных будет использоваться для вставки. Например рис 1.

Рисунок 1 Примеры
 В первом примере после знака  % передается символ s, что означает string то есть строка, и если нужно вставить только одно значение скобки не ставятся, в следующем примере показана вставка нескольких значений, для отображения числа(не строки) используют символ d после  %  в оставшихся примерах показано использования других символов после  % ,  на таблице ниже показаны спецификаторы формата.
  1. s - Строка
  2. c - Символ
  3. d - Десятичное (целое) число
  4. i - Целое число
  5. o - Восьмеричное целое число
  6. x - Шестнадцатеричное целое число 
  7. e - Вещественное число в экспоненциальной форме 
  8. f - Вещественное число в десятеричном исполнении 
  9. g - Вещественное число    
Таблица 1. Спецификаторы формата 

понедельник, 2 мая 2011 г.

Python строки 2

В Python для работы над строками имеются очень много функций, в следующих статьях будет рассказываться только о строковых функциях. Функции min() и max(), первая функция ищет в строке букву,  которая идет в алфавите раньше всех, а вторая функция противоположная ей ищет самую последнюю букву которая самая близкая к концу алфавита.
 Функция lstrip() удаляет указанную последовательность  из строки стоящая в начале строки и пробелы перед первым словом, но только последовательность символов
стоящие в начале строки, в случае если будет перечислены несколько символов стоящих в строке не в первом слове, удаление не произойдет. Еще одна интересная функция  replace(oldnew[count]) заменяет часть строки (old) новым значением(new). Следующая функция   len(str)  считает количество символов в строке (str). Функция  lower() копирует объект, при копировании создается новый объект в который заносится значение копируемого объекта, эта функция полезная если переменная должна не изменятся на протяжении всего времени работы скрипта, так как в Pythonе если присвоить одну переменную другой то при изменении одной из двух переменных будет меняться и вторая переменная, а если при копировании использовать функцию lower(), то изменение одной переменной не повлекут изменения второй(рис2). примеры использования функций приведены на рисунке1.  для более полной информации можно обратится к официальной документации Строки Python manual 

Рисунок 1 

воскресенье, 1 мая 2011 г.

Python строки

Для работы со строками в Python есть очень интересная особенность, а именно со строкой можно выполнять такие простые действия как, выбор первых N элементов, выбор последних N элементов а также выбор каждого второго первого и так далее элемента в строке. Все эти решения можно выполнить с помощь простого обращения к строковой переменной First[3:], в данном примере выведет слово начиная с третей позиции элемента. Хватит теории, давайте лучше все закрепим на практике.



В данном примере я сначала создал строковую переменную first присвоив ей значение Python, далее
взял откинул лишние символы до третей позиции так как нумерация идет с нулевого элемента он откинул три символа с начала и вывел те символы что остались (Python), так же выводят нужные символы с конца строки в данном примере не выводятся первые 3 символа, В третьем примере выводятся каждые вторые символы начина с первого символа но не  с нулевого, В четвертом примере выводится указанный диапазон символов начиная с нулевого то есть с начала строки до четвертого элемента, в пятом примере выводится диапазон чисел начиная с первого элемента (но не с начала слова) до 3 и при это выводить каждый 3-ий элемент, но в последнем примере вывелся только первый символ, вот если изменить условие на first[0:4:3] то в данном случае выведется 'Ph'.
 Удачных экспериментов встретимся в следующих статьях.      

Динамическая типизация переменных в Python

Переменные в  Python объявляются непосредственно перед присваивании им значений. То есть ниже приведен пример  использования переменных для решения простого математической задачи


    Сначала присваивается  переменной а значение 23 затем переменной b значение 34,а следующее действие складывает два значения и затем полученный результат выводится строкой ниже. Как можно заметить для того чтобы записать переменную, перед ней не нужно ставить никаких символов, так для присваивания данных переменой в PHP нужно перед переменной поставит символ $. Так как мы работаем в интерактивном режиме, то чтобы получить результат выполнения сложения двух переменных  a+b мы не присваиваем полученный результат никакой переменной чтобы потом вывести значение этой переменной, а просто складываем две переменные, и полученный результат выводится строкой ниже,  в следующих статьях  мы поговорим о том в чем различия интерактивного режима и  создания  модуля. Так в чем заключается динамическая типизация? А заключается она в следующем, когда мы присваиваем какое то значение переменной то это значение сохраняется в отдельной ячейки, которая состоит из двух значений это тип данных и само значение переменной, а переменная является всего лишь ссылка на эту ячейку данных, на следующем рисунке более наглядно показан механизм взаимодействия переменной с данными.
     На следующем примере видно как одна и та же переменная может быть и вещественным и числовым и строковым типами, так как переменная не имеет типа, а только ссылается на ячейки с определенными типами.

     На данном примере с начало присваивается присваивается разные типы данных, а потом выводится результат присваивания.
В Python хорошо настроен сборщик мусора, который удаляет значения ячеек на которые не ссылаются переменные. Освобождая тем самым место для других значений, что нельзя сказать о таких языках как C, C++, Java в которых нужно запускать сборщик мусора самому.