четверг, 13 декабря 2012 г.

Преобразование типов в Python

В Python имеются такие типы данных:
  • Числа
  • Строки
  • Кортежи
  • Списки
  • Словари
  • Множества
    Для преобразования из числа в строку  используют функцию str(). 
>>> x=23
>>>x=str(x)
>>>print(x)
>>>23
    Если мы не использовали бы функцию str(), то при обьединении строки с числом, получили ошибку
>>>v=x+'hello'
>>>print(v)
>>>23hello
Не используя str():
>>> m=45
>>>a=m+'hello' TypeError: Can't convert 'int' object to str implicitly
Что означает невозможно число вставить в строку. 
    Кортежиэто упорядоченная, неизменяемая коллекция объектов произвольных типов, поддерживающая произвольное число уровней вложенности.Форма записи выглядит следующим образом:
>>>t=(23,'retro','mir')
     Для доступа к каждому обьекту кортежа используются [] в которых указывается номер обьекта в кортеже.
>>>t[1]
>>>retro
     Изменить обьект в кортеже не возможно! То есть кортеж это список констант, он быстрее чем обычные списки. Также в нем не возможно удалять обьекты. Таким образом кортеж идеально подходит для хранения данных, к ним легко добраться и в тоже время не возможно изменить либо удалить)
 Списки представляют из себя коллекцию элементов, которые можно удалять, изменять, создавать какую угодно вложенность, одни плюсы) Все элементы в списке упорядочены в отличии от словарей , доступ к элементам которой предоставляется не с помощью смещения, а с помощью ключа.
Здесь я лишь внесу некоторые дополнения и замечания по использованию словарей:
  • операции над последовательностями неприменимы к словарям т.к. словари — это не последовательность, а отображение.
  • Ключи не обязательно должны быть строками. В роли ключей могут выступать любые неизменяемые объекты. Т.е. если рассматривать встроенные типы данных, то — это числа, строки и кортежи. Ясно, что при использования чисел, словарь превращается в подобие списка, однако, остаётся при этом неупорядоченным. Используя в качестве ключа кортежи, появляется возможность использовать составные ключи. Экземпляры пользовательских классов так же могут выступать в качестве ключей при условии, что они реализуют определённые методы указывающие интерпретатору на то, что объект является неизменяемым.
  

понедельник, 3 декабря 2012 г.

Преобразование строк в Python

     Для преобразования числа в строку в  Python используем функцию str(), а для преобразования  строки в число функцию int() (рис.1).

 Рисунок 1 Преобразование данных
    С начало создадим строку '234' (рис 1) к ней добавим цифру 2, но добавления не происходит из-за разности типов данных, преобразовав '234' в цифры 234 теперь можно прибавить 2, по такому же принципу  происходит слияние двух строк (конкатенация).
Зная эти две функции можно решить задачку. Пользователь вводит число например 78,23, если сумма до запятой равна сумме чисел после запятой, программа выводит значение TRUE, а если не равны тогда  FALSE.

Рисунок 2 Решение задачи примитивным способом)
    Для решения задачи создадим переменную с числовым значением (например 23.32), затем переведем данные из цифрового в строковое представление и присвоив новое значение переменной st, далее зная что до точки два символа можно преобразовать первые два символа в числа и сложить использовав функцию  int(), также поступим и с символами после точки, а последним действие проверим являются ли равными две переменные в которых содержатся сумма цифр до точки и после точки. 
    На рисунке 3 показан рабочий программный код(Функция first)  которой нужно передать всего лишь цифровое значение и получить результат.

Рисунок 3 Функция first
Данная функция цифры перевод в строку, затем подсчитывает количество символов в строке с помощью функции len(), затем при помощи цикла for и функции range() сравнивает  каждый символ и если символ не является '.' он переводит символ в цифру и присваивает  значение переменной t, так происходит до тех пор пока в строке цикл не встретит точку,  после точки сумма чисел до точки присваивается новой переменной first=t, а сумма чисел после точки присваивается все той же переменной t но с начало присвоив ей значение 0 для обнуления переменной. Как только цикл дойдет до конца слова sd, сравниваются полученные переменные а результат сравнения выводится на экранах. В следующих статьях будет описано использования цикла for.  

вторник, 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