Python что это такое

Python что это такое


PythonЧто такое «оператор»?

Простой ответ может быть дан с помощью выражения «4 + 5 равно 9«. Тут 4 и 5 — это операнды (operands), а символ плюс («+«) называется оператором (operator). В языке Python поддерживает такие типы операторов:

  • арифметические операторы (arithmetic operators);
  • операторы сравнения (comparison или relational operators);
  • операторы присваивания (assignment operators);
  • логические операторы (logical operators);
  • битовые операторы (bitwise operators);
  • операторы принадлежности (membership operators);
  • операторы тождественности (identity operators).

Далее мы рассмотрим все эти операторы по очереди.

Арифметические операторы в Python

Предположим, переменная a = 10, а переменная b = 20.

Оператор Описание Пример
+ добавление (addition) — добавляет значения каждого оператора; a + b даст 30
вычитание (subtraction) — вычитает правый операнд из левого; a — b даст -10
* умножение (multiplication) — умножает значения с обоих сторон оператора; a * b даст 200
/ деление (division) — делит левый операнд на правый; b / a даст 2
% модуль (modulus) — делит левый операнд на правый и возвращает остаток; b % a даст 0
** возведение в степень (exponent, экспонента); a**b даст 10 в степени 20
// деление с остатком — (floor division) — деление операндов, где результат является частным числов, в котором цасти после точки удаляются; 9//2 равно 4 а 9.0//2.0 будет равно 4.0

Примеры:

>>> a = 21  >>> b = 10  >>> c = 0  >>> c = a + b # оператор сложения;  >>> print (c)  31  >>> c = a - b # оператор вычитания;  >>> print (c)  11  >>> c = a * b # оператор умножения;  >>> print (c)  210  >>> c = a / b # оператор деления;  >>> print (c)  2  >>> c = a % b # оператор получение модуля;  >>> print (c)  1  >>> a = 2  >>> b = 3  >>> c = a**b # оператор возведения в степень;  >>> print (c)  8  >>> a = 10  >>> b = 5  >>> c = a//b # оператор деления с остатком;  >>> print (c)  2

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

Предположим, переменная a = 10, а переменная b = 20.

Оператор описание Пример
== проверяет одинаково ли значение операндов, если одинаковы — то условие является истинной (true); (a == b) false
!= проверяет одинаково ли значение операндов, если НЕ одинаковы — то условие является истинной (true); (a != b) true
<> проверяет одинаково ли значение операндов, если НЕ одинаковы — то условие является истинной (true); (a <> b) true (этогт оператор аналогичен !=)
> проверяет значение левого оператора, если он больше, чем правый — то условие является истинной; (a > b) false
< проверяет значение левого оператора, если он меньше, чем правый — то условие является истинной; (a < b) true.
>= проверяет значение левого оператора, если он больше или равен правому — то условие является истинной; (a >= b) false
<= проверяет значение левого оператора, если он меньше или равен правому — то условие является истинной; (a <= b) true.

Примеры:

>>> a = 21  >>> b = 10  >>> c = 0  >>> a == b  False  >>> a != b  True  >>> a <> b  True  >>> a < b  False  >>> a > b  True  >>> a = 5  >>> b = 20  >>> a <= b  True  >>> b >= a  True

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

Предположим, переменная a = 10, а переменная b = 20.

Оператор Описание Пример
= простой оператор присваивания, присваивает значение с правой стороны операнду с левой стороны; c = a + b присвоит результат a + b переменной c
+= оператор присваивания «сложение И», добавляет значение правого оператора левому, и присваивает результат левому операнду; c += a аналогичен c = c + a
-= оператор присваивания «вычитание И», вычитает правый оператор из левого и результат присваивает левому операнду; c -= a аналогичен c = c — a
*= оператор присваивания «умножение И», умножает правый оператор на левый и присваивает результат левому операнду; c *= a аналогичен c = c * a
/= оператор присваивания «деление И», делит левый оператор на правый и присваивает результат левому операнду; c /= a аналогичен c = c / a
%= оператор присваивания «модуль И», получает модуль из обоих операторов и присваивает значение левому операнду; c %= a аналогичен c = c % a
**= оператор присваивания «возведение в степень И», выполняет возведение в степень операндов и присваивает рузультат левому операнду; c **= а аналогичен = c ** a
//= оператор присваивания «деление с остатком И», выполняет деление с остатком и присваивает результат левому операнду; c //= a аналогичен с = c // a

Битовые операторы в Python

Битовые (или «побитовые«) операторы работают с битами данных, и выполняют операции бит-за-битом. Предположим — a = 60 и b = 13. В бинарном формате они будут выглядеть так:

a = 0011 1100  b = 0000 1101  -----------------  a&b = 0000 1100  a|b = 0011 1101  a^b = 0011 0001  ~a  = 1100 0011
Operator Description Example
& Binary AND Operator copies a bit to the result if it exists in both operands. (a & b) will give 12 which is 0000 1100
| Binary OR Operator copies a bit if it exists in eather operand. (a | b) will give 61 which is 0011 1101
^ Binary XOR Operator copies the bit if it is set in one operand but not both. (a ^ b) will give 49 which is 0011 0001
~ Binary Ones Complement Operator is unary and has the efect of ‘flipping’ bits. (~a ) will give -61 which is 1100 0011 in 2’s complement form due to a signed binary number.
<< Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. a << 2 will give 240 which is 1111 0000
>> Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. a >> 2 will give 15 which is 0000 1111

Логические операторы в Python

В языке  Python  поддерживаются следующие логические операторы — and (и), or (или), not (не). Предположим, переменная a = 10, а переменная b = 20, тогда:

Operator Description Example
and называется логическим оператором AND (И). Если оба операнда = true выражение будет так же true; (a and b) is true.
or называется логическим оператором OR (ИЛИ). Если хотя бы один из двух операторов не пустой (не равен 0) — выражение истинно; (a or b) is true.
not называется логическим оператором NOT (НЕ). Используется для обратного изменения логического результата выражения. Если выражение истинно — с помощью этого оператора оно станет ложным (false). not(a and b) is false.

Примеры

>>> a = 10  >>> b = 20  >>> c = 0  >>> if ( a and b ):  ...    print "Line 1 - a and b are true"  ...  Line 1 - a and b are true  >>> if ( a or b ):  ...    print "Line 2 - Either a is true or b is true or both are true"  ...  Line 2 - Either a is true or b is true or both are true  >>> if ( a and b ):  ...   print "Line 3 - a and b are true"  ... else:  ...    print "Line 3 - Either a is not true or b is not true"  ...  Line 3 - Either a is not true or b is not true  >>> if ( a or b ):  ...   print "Line 4 - Either a is true or b is true or both are true"  ...  Line 4 - Either a is true or b is true or both are true  >>> if not( a and b ):  ...   print "Line 5 - Either a is not true or b is not true"  ... else:  ...   print "Line 5 - a and b are true"  ...  Line 5 - Either a is not true or b is not true  

Операторы принадлежности в Python

В дополнение к операторам, которые мы обсудили ранее, в Python так же имеются операторы членства (или принадлежности) в последовательностях, таких как строки, списки или кортежи.

Таких операторов всего два:

Operator Description Example
in Считается истиной (true), если находит переменную в заданной последовательности, и ложью (false) в противном случае; x in y, here in results in a 1 if x is a member of sequence y.
not in Считается истиной (true), если не находит переменную в заданной последовательности, и ложью (false) в противном случае. x not in y, here not in results in a 1 if x is not a member of sequence y.

Примеры

>>> a = 10  >>> b = 20  >>> list = [1, 2, 3, 4, 5 ];  >>> if ( a in list ):  ...   print "Line 1 - a is available in the given list"  ...  >>> a = 10  >>> b = 20  >>> list = [1, 2, 3, 4, 5 ];  >>> if ( a in list ):  ...   print "Line 1 - a is available in the given list"  ... else:  ...   print "Line 1 - a is not available in the given list"  ...  Line 1 - a is not available in the given list  >>> if ( b not in list ):  ...   print "Line 2 - b is not available in the given list"  ... else:  ...   print "Line 2 - b is available in the given list"  ...  Line 2 - b is not available in the given list  >>> a = 2  >>> if ( a in list ):  ...   print "Line 3 - a is available in the given list"  ... else:  ...   print "Line 3 - a is not available in the given list"  ...  Line 3 - a is available in the given list

Операторы тождественности в Python

Операторы тождественности, или идентичности сравнивают расположение двух объектов в памяти. Таких операторов два:

Operator Description Example
is Считается истиной (true), если переменные по обе стороны от оператора указывают на один объект, и ложью (false) в противном случае; x is y, here is results in 1 if id(x) equals id(y).
is not Считается ложью (false), если переменные по обе стороны от оператора указывают на один объект, и истиной (true) в противном случае/ x is not y, here is not results in 1 if id(x) is not equal to id(y).

Примеры

>>> a = 20  >>> b = 20  >>>  >>> if ( a is b ):  ...    print "Line 1 - a and b have same identity"  ... else:  ...    print "Line 1 - a and b do not have same identity"  ...  Line 1 - a and b have same identity  >>> if ( id(a) == id(b) ):  ...    print "Line 2 - a and b have same identity"  ... else:  ...    print "Line 2 - a and b do not have same identity"  ...  Line 2 - a and b have same identity  >>> b = 30  >>> if ( a is b ):  ...    print "Line 3 - a and b have same identity"  ... else:  ...    print "Line 3 - a and b do not have same identity"  ...  Line 3 - a and b do not have same identity  >>> if ( a is not b ):  ...    print "Line 4 - a and b do not have same identity"  ... else:  ...    print "Line 4 - a and b have same identity"  ...  Line 4 - a and b do not have same identity

Приоритеты операторов в Python

В следующей таблице приведены все операторы, отсортированные по их приоритету от наибольшего — к меньшему:

Operator Description
** Exponentiation (raise to the power)
~ + — Complement, unary plus and minus (method names for the last two are +@ and -@)
* / % // Multiply, divide, modulo and floor division
+ — Addition and subtraction
>> << Right and left bitwise shift
& Bitwise ‘AND’
^ | Bitwise exclusive `OR’ and regular `OR’
<= < > >= Comparison operators
<> == != Equality operators
= %= /= //= -= += *= **= Assignment operators
is is not Identity operators
in not in Membership operators
not or and Logical operators

Прмиеры

>>> a = 20  >>> b = 10  >>> c = 15  >>> d = 5  >>> e = 0  >>>  >>> e = (a + b) * c / d #( 30 * 15 ) / 5  >>> print "Value of (a + b) * c / d is ", e  Value of (a + b) * c / d is 90  >>>  >>> e = ((a + b) * c) / d # (30 * 15 ) / 5  >>> print "Value of ((a + b) * c) / d is ", e  Value of ((a + b) * c) / d is 90  >>>  >>> e = (a + b) * (c / d); # (30) * (15/5)  >>> print "Value of (a + b) * (c / d) is ", e  Value of (a + b) * (c / d) is 90  >>>  >>> e = a + (b * c) / d; # 20 + (150/5)  >>> print "Value of a + (b * c) / d is ", e  Value of a + (b * c) / d is 50



Источник: rtfm.co.ua


Добавить комментарий