Арифметические операции
Все числовые типы, кроме сложных, поддерживают следующие операции согласно их приоритетам выполнения:
- x + y
Результатом будет сумма чисел x и у - x — y
Результатом будет разница чисел x и у - x * y
Результатом будет произведение чисел x и у - x / y
Результатом будет частное чисел x и у - x // y
Результатом будет деление x / y с округлением результата до ближайшего целого в меньшую сторону. Операцию называют "целочисленным делением".
Результирующее значение является целым целым числом, хотя тип результата не обязательно является int .
Результат всегда округляется до минус бесконечности:
1 // 2 равно 0 ,
(-1) // 2 равно -1 ,
1 // (-2) равно -1 ,
(-1) // (-2) равно 0 . - x % y
Результатом будет остаток от деления чисел x / y . - -x
Результатом будет отрицательное значение x . - +x
В результате число x останется без изменений. - abs(x)
Результатом будет абсолютное значение или величина x . - int(x)
В результате число x преобразуется в целое число int .
В качестве аргумента допускается использовать принятые числовые литералы включающие цифры от 0 до 9 или любой эквивалент Юникода.
Преобразование вещественного числа в целое число может округляться или усекаться, как в C. Для четко определенных преобразований используйте math.floor() и math.ceil() - float(x)
В результате число x преобразуется в число с плавающей точкой float .
В качестве аргумента допускается использовать принятые числовые литералы включающие цифры от 0 до 9 или любой эквивалент Юникода.
Функция также принимает строки 'nan' — не число и 'inf' — положительная или отрицательная бесконечность, с необязательным префиксом + или — . - complex(real, image)
Результатом будет комплексное число с вещественной частью real , мнимой частью image .
В качестве аргумента допускается использовать принятые числовые литералы включающие цифры от 0 до 9 или любой эквивалент Юникода. - c.conjugate()
Результатом будет сопряженное комплексное число с . - divmod(x, y)
Результатом будет пара (x // y, x % y) . - pow(x, y)
Результатом будет число x в степени у . Python определяет 0 ** 0 как равное 1 , как это обычно бывает для языков программирования. - x ** y
Результатом будет число x в степени у . Python определяет pow(0, 0) как равное 1 , как это обычно бывает для языков программирования.
Внимание!. Комплексным числам (тип complex ) недоступны операции: // — деление без остатка , % — остаток от деления, int() , float() , divmod() .
Примеры использования:
Синтаксис арифметических выражений прост. Операторы + , — , * и / работают так же, как и в большинстве других языков программирования, круглые скобки () могут быть использованы для группировки выражений.
Целые числа, например 2, 4, 20 имеют тип int , числа с дробной частью, например 5.0, 1.6 имеют тип float .
Деление / всегда возвращает тип float (число с плавающей запятой). Для получения целой части числа, полученного в результате деления ( floor division — округление результата до ближайшего целого в меньшую сторону) вы можете использовать оператор // , для расчета остатка вы можете использовать оператор %
С помощью Python можно использовать оператор ** для вычисления степеней
Знак равенства = используется для присвоения значения переменной.
Если переменная не определена, т. е. ей не присвоено значение, попытка использовать ее приведет к ошибке.
Существует полная поддержка операций с плавающей запятой, операции с числами смешанного типа преобразуют результат в число с плавающей точкой.
В интерактивном режиме последнее печатное выражение присваивается переменной _ — символ подчеркивания. Это означает, что при использовании Python в качестве калькулятора несколько проще продолжить вычисления, например:
Переменная _ должна рассматриваться как доступная только для чтения. Не присваивайте ей явно значение, иначе вы создадите независимую локальную переменную с тем же именем, маскируя встроенную переменную с ее магическим поведением. Эта магическая переменная нередко используется в коде для скрытия неиспользуемых данных.
Помимо int и float , Python поддерживает другие типы чисел, такие как Decimal и Fraction . Python также имеет встроенную поддержку комплексных complex чисел и использует суффикс j или J для обозначения мнимой части, например, 3+5j .
Руководство по операторам деления в Python
Деление — стандартная математическая операция в любом языке программирования, и Python не исключение. Однако в Python 2 существует только один тип деления, называемый целочисленным делением.
В общем, определение деления (/) в Python зависело исключительно от аргументов. Например, в Python 2.7 деление 11/4 равнялось 2, потому что оба аргумента были целыми числами.
Однако 20.0/7 будет генерировать 2,857142857142857 на выходе, потому что аргументы были числами с плавающей запятой.
Приведенное выше определение ‘/’ часто вызывало проблемы для приложений, в которых использовались типы данных, которые автор не ожидал.
В данном руководстве рассмотрим операторы деления в Python.
Виды деления в Python
Python 3 имеет два вида деления:
- Integer Division( // ) — целочисленное деление
- Float Division( / ) — деление с плавающей запятой
Стандартный символ деления(/) работает по-разному в Python 3 и Python 2 при применении к целым числам. Например, при делении целого числа на другое целое число в Python 3 операция деления x/y представляет собой истинное деление(использует метод __truediv__) и дает результат с плавающей запятой.
Между тем, та же операция в Python 2 представляет собой классическое деление, которое округляет результат до отрицательной бесконечности(также известное как «floor»).
Python float division
Python 3 предоставляет оператор ‘/’, который выполняет деление с плавающей запятой как для аргументов типа int, так и для аргументов с плавающей запятой.
Числа в Python: Int, float
Основы
В данном уроке мы изучим работу с числовыми данными в Питоне. Python очень зрелый язык и, естественно, работа с числами в нём сделана удобно, но позволяет сделать очень многое. В данном языке, в отличие от многих других, типов числовых данных достаточно мало. Это целочисленный тип, реальные и комплексные числа. И если первые два типа представлены в любом языке, то комплексные числа – изюминка именно Пайтона.
Вещественные числа в Python
Вещественные числа это:
— Числа без дробной части. Могут быть как положительными, так и отрицательными. В Python представлены типом int. Пример: 0, -22, 48947364316
— Числа с дробной частью. Могут быть как положительными, так и отрицательными. В Python представлены типом float. Пример: 0.15, -5445454.45456465, 0.0
Создание int и float чисел
Питон помогает нам в работе с типами переменных. В этом его удобство, но это же и таит опасности. Огромная часть ошибок, возникающих в программном обеспечении, связана именно с типами данных.
Когда мы присваиваем переменной значение, Python сам определяет её тип:
Операторы Python
В этом руководстве речь пойдет об операторах языка программирования Python. Вы узнаете об арифметических, логических и битовых операторах, а также операторах сравнения, присваивания, принадлежности, тождественности и их синтаксисе. Все это будет проиллюстрировано примерами.
Оператор в Python — это символ, который выполняет операцию над одним или несколькими операндами.
Операндом выступает переменная или значение, над которыми проводится операция.
Введение в операторы Python
Операторы Python бывают 7 типов:
- Арифметические операторы
- Операторы сравнения
- Операторы присваивания
- Логические операторы
- Операторы принадлежности
- Операторы тождественности
- Битовые операторы
Арифметические операторы Python
Этот тип включает операторы для проведения базовых арифметических операций.
Сложение (+)
Складывает значение по обе стороны оператора.
Пример:
Вычитание (-)
Вычитает значение правой стороны из значения в левой.
Пример:
Умножение (*)
Перемножает значения с обеих сторон оператора.
Пример:
Деление (/)
Делит значение левой стороны на значение правой. Тип данных результата деления — число с плавающей точкой.
Пример:
Возведение в степень (**)
Возводит первое число в степень второго.
Пример:
Деление без остатка (//)
Выполняет деление и возвращает целочисленное значение частного, убирая цифры после десятичной точки.
Пример:
Деление по модулю (остаток от деления) (%)
Выполняет деление и возвращает значение остатка.
Пример:
Операторы сравнения
Операторы сравнения в Python проводят сравнение операндов. Они сообщают, является ли один из них больше второго, меньше, равным или и то и то.
Меньше (<)
Этот оператор проверяет, является ли значение слева меньше, чем правое.
Пример:
Больше (>)
Проверяет, является ли значение слева больше правого.
Пример:
Меньше или равно (<=)
Проверяет, является ли левая часть меньше или равной правой.
Пример:
Больше или равно (>=)
Проверяет, является ли левая часть больше или равной правой.
Пример:
Равно (==)
Этот оператор проверяет, равно ли значение слева правому. 1 равна булевому True , а 2 (двойка) — нет. 0 равен False .
Пример:
Не равно (!=)
Проверяет, не равно ли значение слева правому. Оператор <> выполняет ту же задачу, но его убрали в Python 3.
Когда условие выполнено, возвращается True . В противном случае — False . Это возвращаемое значение можно использовать в последующих инструкциях и выражениях.
Пример:
Операторы присваивания
Оператор присваивания присваивает значение переменной. Он может манипулировать значением до присваивания. Есть 8 операторов присваивания: 1 простой и 7 с использованием арифметических операторов.
Присваивание (=)
Присваивает значение справа левой части. Стоит обратить внимание, что == используется для сравнения, а = — для присваивания.
Пример:
Сложение и присваивание (+=)
Суммирует значение обеих сторон и присваивает его выражению слева. a += 10 — это то же самое, что и a = a + 10 .
То же касается и все остальных операторов присваивания.
Пример:
Вычитание и присваивание (-=)
Вычитает значение справа из левого и присваивает его выражению слева.
Пример:
Деление и присваивание (/=)
Делит значение слева на правое. Затем присваивает его выражению слева.
Пример:
Умножение и присваивание (*=)
Перемножает значения обеих сторон. Затем присваивает правое левому.
Пример:
Деление по модулю и присваивание (%=)
Выполняет деление по модулю для обеих частей. Результат присваивает левой части.
Пример:
Возведение в степень и присваивание (**=)
Выполняет возведение левой части в степень значения правой части. Затем присваивает значение левой части.
Пример:
Деление с остатком и присваивание (//=)
Выполняет деление с остатком и присваивает результат левой части.
Пример:
Это один из важных операторов Python
Логические операторы Python
Это союзы, которые позволяют объединять по несколько условий. В Python есть всего три оператора: and (и), or (или) и not (не).
И (and)
Если условия с двух сторон оператора and истинны, тогда все выражение целиком считается истинным.
Пример:
Или (or)
Выражение ложно, если оба операнда с двух сторон ложные. Если хотя бы одно из них истинное, то и все выражение истинно.
Пример:
Не (not)
Этот оператор инвертирует булевые значения выражения. True превращается в False и наоборот. В примере внизу булево значение 0 — False . Поэтому оно превращается в True .
Пример:
Операторы принадлежности
Эти операторы проверяют, является ли значение частью последовательности. Последовательность может быть списком, строкой или кортежем. Есть всего два таких оператора: in и not in .
Проверяет, является ли значение членом последовательности. В этом примере видно, что строки fox нет в списке питомцев. Но cat — есть, поэтому она возвращает True . Также строка me является подстрокой disappointment . Поэтому она вернет True .
Пример:
Нет в (not in)
Этот оператор проверяет, НЕ является ли значение членом последовательности.
Пример:
Операторы тождественности
Эти операторы проверяют, являются ли операнды одинаковыми (занимают ли они одну и ту же позицию в памяти).
Это (is)
Если операнды тождественны, то вернется True . В противном случае — False . Здесь 2 не является 20 , поэтому вернется False . Но ‘2’ — это то же самое, что и «2» . Разные кавычки не меняют сами объекты, поэтому вернется True .
Пример:
Это не (is not)
2 — это число, а ‘2’ — строка. Поэтому вернется True .
Пример:
Битовые операторы Python
Эти операторы работают над операндами бит за битом.
Бинарное И (&)
Проводит побитовую операцию and над двумя значением. Здесь бинарная 2 — это 10 , а 3 — 11 . Результатом побитового and является 10 — бинарная 2 . Побитовое and над 011 (3) и 100 (4) выдает результат 000 (0).
Пример:
Бинарное ИЛИ (|)
Проводит побитовую операцию or на двух значениях. Здесь or для 10 (2) и 11 (3) возвращает 11 (3).
Пример:
Бинарное ИЛИ НЕТ (^)
Проводит побитовую операцию xor (исключающее или) на двух значениях. Здесь результатом ИЛИ НЕ для 10 (2) и 11 (3) будет 01 (1).
Пример:
Инвертирующий оператор (
Он возвращает инвертированные двоичные числа. Другими словами, переворачивает биты. Битовая 2 — это 00000010 . Ее инвертированная версия — 11111101 . Это бинарная -3 . Поэтому результат -3 . Похожим образом
1 равняется -2 .
Пример:
Еще раз, инвертированная -3 — это 2 .
Бинарный сдвиг влево (<<)
Он сдвигает значение левого операнда на позицию, которая указана справа. Так, бинарная 2 — это 10 . 2 сдвинет значение на две позиции влево и выйдет 1000 — это бинарная 8 .
Пример:
Бинарный сдвиг вправо (>>)
Сдвигает значение левого оператора на позицию, указанную справа. Так, бинарная 3 — это 11 . 3 >> 2 сдвинет значение на два положение вправо. Результат — 00 , то есть 0 . 3 >> 1 сдвинет на одну позицию вправо, а результатом будет 01 — бинарная 1 .
Пример:
Выводы
В этом уроке были рассмотрены все 7 типов операторов Python. Для каждого был предложен пример в IDE. Для понимания особенностей работы операторов нужно продолжать с ними работать, использовать в условных конструкциях и объединять.