Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Типы данных и операции над ними




Основные операции над простыми типами

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

Ниже перечислены операции, которые могут применяться ко всем числовым типам:

x + y Сложение

x – y Вычитание

x * y Умножение

x / y Деление

x // y Целочисленное деление с усечением

x ** y Возведение в степень (xy)

x % y Остаток от деления (Деление по модулю (x mod y)

Математические функции:

abs(x) Абсолютное значение

divmod(x,y) Возвращает кортеж (x // y, x % y)

pow(x,y [,modulo]) Возвращает результат выражения (x ** y) % modulo

round(x,[n]) Округляет до ближайшего кратного 10 -n (только для чисел с плавающей точкой)

Функция round() округляет числос плавающей точкой x до ближайшего, кратного 10 в степени минус n. Если аргумент n опущен, он принимается равным 0. Если число x одинаково близко к двум кратным значениям, в Python 3 округление будет выполнено до ближайшего четного кратного (например, значение 0.5 будет округлено до 0.0, а значение 1.5 – до 2.0). Эта особенность представляет серьезную проблему переноса математических программ на Python 3.

Операторы сравнения

x < y Меньше чем

x > y Больше чем

x == y Равно

x!= y Не равно

x >= y Больше или равно

x <= y Меньше или равно

Логические операции and, or, not записываются без скобок и имеют низший приоритет по сравнению с операторами сравнения, поэтому запись логических выражений существенно упрощается. Например, выражение:

2< x and 5< y

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

Операторы сравнения можно объединять в последовательности, например: w < x < y < z, что эквивалентно выражению w < x and x < y and y < z. Такие выражения, как x < y > z, также являются допустимыми.

Битовые операторы (применяющиеся побитно) над целыми числами:

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

x << y Двоичный сдвиг влево

x >> y Двоичный сдвиг вправо

x & y Битовая операция «И»

x | y Битовая операция «ИЛИ»

x ^ y Битовая операция «исключающее ИЛИ»

~x Битовая операция «НЕ»

Операции приведения типов

В Python используется так называемая динамическая типизация, то есть в ходе выполнения программы одна и та же переменная может хранить значения различных типов. При этом не требуется предварительное объявление типа переменной. Оператор присваивания «=» создает связь между именем переменной и значением, при этом тип переменной «угадывается» автоматически.

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

Чтобы корректно преобразовать данные одного типа в другой, в Python, как и во многих других языках программирования используются операции приведения типов, совпадающие с названиями самих типов. Например:

s='15.7'

x=float(s)# преобразуем строку в вещественное число

i= in t(x)# преобразуем вещественное число в целое

print ('s=',s,'x=',x,'i=',i)

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

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

Последовательности

Общие сведения

Последовательности играют в Python важную роль.

Основные — это кортежи (tuple) и списки (list). Основная разница между ними состоит в том, что кортеж — не изменяемый тип, а список - изменяемый. Кортеж записывается в круглых скобках t=(1,2,”три”,4), а список – в прямоугольных: L=[1,2,”три”,4].

В Python нет типа массив, поэтому перечисляемые типы данных представлены только последовательностями. Основное отличие последовательности от массива состоит в том, что в массиве хранятся данные одного типа, а в последовательностях могут хранится данные любых типов. Тип массив (array) есть в математической библиотеке numpy. Массивы numpy обеспечивают быстродействие и удобную запись векторных и матричных операций и сильно упрощают реализацию численных методов.

Важно: нумерация элементов последовательностей начинается с 0. Таким образом, в списке из 2 элементов первый имеет номер 0, а второй 1, а элемента с номером 2 нет!

Удобно, что отрицательные индексы реализуют зеркальную (кольцевую) нумерацию, то есть -1 означает последний элемент, -2 — предпоследний и т.д.





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 1367 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2694 - | 2678 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.