328 lines
11 KiB
Markdown
328 lines
11 KiB
Markdown
---
|
||
title: Basic Operators
|
||
localeTitle: Основные операторы
|
||
---
|
||
## Основные операторы
|
||
|
||
Операторы - это символы, которые говорят интерпретатору выполнять определенную операцию (арифметику, сравнение, логику и т. Д.),
|
||
|
||
Ниже перечислены различные типы операторов в Python:
|
||
|
||
1. Арифметические операторы
|
||
2. Реляционные операторы
|
||
3. Побитовые операторы
|
||
4. Операторы присваивания
|
||
5. Логические операторы
|
||
6. Операторы членства
|
||
7. Операторы идентификации
|
||
|
||
#### Арифметические операторы
|
||
|
||
Арифметический оператор принимает два операнда в качестве входных данных, выполняет вычисление и возвращает результат.
|
||
|
||
Рассмотрим выражение **«a = 2 + 3»** . Здесь `2` и `3` - _операнды,_ а `+` - _арифметический оператор_ . Результат операции хранится в переменной a.
|
||
|
||
оператор
|
||
|
||
Описание
|
||
|
||
использование
|
||
|
||
+
|
||
|
||
Выполняет добавление в операндах
|
||
|
||
12 + 3 = 15
|
||
|
||
\-
|
||
|
||
Выполняет вычитание на операндах. Вычитает правый операнд из левого операнда
|
||
|
||
12 - 3 = 9
|
||
|
||
\*
|
||
|
||
Выполняет умножение на операнды
|
||
|
||
12 \* 3 = 36
|
||
|
||
/
|
||
|
||
Выполняет разделение на операнды. Делит левый операнд на правый операнд
|
||
|
||
12/3 = 4
|
||
|
||
Примечание. Когда используются два целых числа, результат отличается между Python 2 и Python 3.
|
||
|
||
5/2 = 2 в Python 2
|
||
|
||
5/2 = 2,5 в Python 3
|
||
|
||
%
|
||
|
||
Выполняет модуль для операндов. Возвращает остаток, полученный при делении левого операнда на правый операнд
|
||
|
||
16% 3 = 1
|
||
|
||
\*\*
|
||
|
||
Выполняет операцию экспонирования. Левый операнд поднят до степени правильного операнда
|
||
|
||
12 \*\* 3 = 1728
|
||
|
||
//
|
||
|
||
Выполняет операцию разделения пола. Возвращает интегральную часть частного, полученную после погружения левого операнда в правый операнд
|
||
|
||
18 // 5 = 3
|
||
|
||
Примечание. Чтобы получить результат в плавающем типе, один из операндов должен также иметь тип float.
|
||
|
||
#### Реляционные операторы
|
||
|
||
Для сравнения двух операндов используется реляционный оператор для определения отношения между ними. Он возвращает логическое значение, основанное на условии.
|
||
|
||
оператор
|
||
|
||
Описание
|
||
|
||
использование
|
||
|
||
\>
|
||
|
||
Возвращает True, если левый операнд больше, чем правый операнд Возвращает False в противном случае
|
||
|
||
12> 3 возвращает True
|
||
|
||
<
|
||
|
||
Возвращает True, если правый операнд больше, чем левый операнд Возвращает False в противном случае
|
||
|
||
12 <3 возвращает False
|
||
|
||
\==
|
||
|
||
Возвращает True, если оба операнда равны Возвращает False в противном случае
|
||
|
||
12 == 3 возвращает False
|
||
|
||
\> =
|
||
|
||
Возвращает True, если левый операнд больше или равен правильному операнду Возвращает False в противном случае
|
||
|
||
12> = 3 возвращает True
|
||
|
||
<=
|
||
|
||
Возвращает True, если правый операнд больше или равен левому операнду Возвращает False в противном случае
|
||
|
||
12 <= 3 возвращает False
|
||
|
||
знак равно
|
||
|
||
Возвращает True, если оба операнда не равны Возвращает False в противном случае
|
||
|
||
12! = 3 возвращает True
|
||
|
||
#### Побитовые операторы
|
||
|
||
Побитовый оператор выполняет операции по операндам по битам
|
||
|
||
Рассмотрим a = 2 (в двоичной нотации, 10) и b = 3 (в двоичной нотации, 11) для нижеследующих применений
|
||
|
||
оператор
|
||
|
||
Описание
|
||
|
||
использование
|
||
|
||
&
|
||
|
||
Выполняет побитовое И операцию над операндами
|
||
|
||
a & b = 2 Двоичный: 10 & 11 = 10
|
||
|
||
|
|
||
|
||
Выполняет побитовое ИЛИ операцию над операндами
|
||
|
||
a | b = 3 Двоичный: 10 | 11 = 11
|
||
|
||
^
|
||
|
||
Выполняет побитовое XOR-операцию над операндами
|
||
|
||
a ^ b = 1 Двоичный: 10 ^ 11 = 01
|
||
|
||
~
|
||
|
||
Выполняет побитовое НЕ операции над операндом Перемещает каждый бит в операнд
|
||
|
||
~ a = -3 Двоичный: ~ (00000010) = (11111101)
|
||
|
||
\>>
|
||
|
||
Выполняет побитовое смещение вправо. Сдвигает биты левого операнда, прямо на количество бит, указанное в качестве правильного операнда
|
||
|
||
a >> b = 0 Двоичный: 00000010 >> 00000011 = 0
|
||
|
||
<<
|
||
|
||
Выполняет побитовый сдвиг влево. Сдвигает биты левого операнда, оставшиеся от количества бит, заданных в качестве правильного операнда
|
||
|
||
a << b = 16 Двоичный: 00000010 << 00000011 = 00001000
|
||
|
||
#### Операторы присваивания
|
||
|
||
Оператор присваивания используется для назначения значений переменной. Обычно это объединяется с другими операторами (такими как арифметические, побитовые), где операция выполняется над операндами, а результат присваивается левому операнду.
|
||
|
||
Рассмотрим следующие примеры, **a = 18** . Здесь `=` - оператор присваивания, и результат сохраняется в переменной a. **a + = 10** . Здесь `+=` - оператор присваивания, и результат сохраняется в переменной a. Это то же самое, что и a = a + 10.
|
||
|
||
оператор
|
||
|
||
использование
|
||
|
||
знак равно
|
||
|
||
a = 5. Значение 5 присваивается переменной a
|
||
|
||
\+ =
|
||
|
||
a + = 5 эквивалентно a = a + 5
|
||
|
||
знак равно
|
||
|
||
а = 5 эквивалентно а = а - 5
|
||
|
||
знак равно
|
||
|
||
а \* = 3 эквивалентно а = а \* 3
|
||
|
||
знак равно
|
||
|
||
a / = 3 эквивалентно a = a / 3
|
||
|
||
знак равно
|
||
|
||
a% = 3 эквивалентно a = a% 3
|
||
|
||
знак равно
|
||
|
||
a \*\* = 3 эквивалентно a = a \*\* 3
|
||
|
||
знак равно
|
||
|
||
a // = 3 эквивалентно a = a // 3
|
||
|
||
знак равно
|
||
|
||
a = 3 эквивалентно a = a & 3
|
||
|
||
| =
|
||
|
||
a | = 3 эквивалентно a = a | 3
|
||
|
||
^ =
|
||
|
||
а ^ = 3 эквивалентно а = а ^ 3
|
||
|
||
\>> =
|
||
|
||
a >> = 3 эквивалентно a = a >> 3
|
||
|
||
<< =
|
||
|
||
a << = 3 эквивалентно a = a << 3
|
||
|
||
#### Логические операторы
|
||
|
||
Логический оператор используется для принятия решения на основе нескольких условий. Логические операторы, используемые в Python, `and` , `or` и `not`
|
||
|
||
оператор
|
||
|
||
Описание
|
||
|
||
использование
|
||
|
||
а также
|
||
|
||
Возвращает True, если оба операнда True Возвращает False в противном случае
|
||
|
||
a и b
|
||
|
||
или
|
||
|
||
Возвращает True, если любой из операндов True Возвращает False в противном случае
|
||
|
||
a или b
|
||
|
||
не
|
||
|
||
Возвращает True, если операнд False Возвращает False в противном случае
|
||
|
||
не
|
||
|
||
#### Операторы членства
|
||
|
||
Оператор членства используется для идентификации членства в любой последовательности (списки, строки, кортежи). `in` а `not in` операторы членства
|
||
|
||
`in` возвращает True, если указанное значение найдено в последовательности. Возвращает False в противном случае. `not in` возвращает True, если указанное значение не найдено в последовательности. Возвращает False в противном случае.
|
||
|
||
###### Пример использования
|
||
|
||
```py
|
||
a = [1,2,3,4,5]
|
||
|
||
#Is 3 in the list a?
|
||
print 3 in a # prints True
|
||
|
||
#Is 12 not in list a?
|
||
print 12 not in a # prints True
|
||
|
||
str = "Hello World"
|
||
|
||
#Does the string str contain World?
|
||
print "World" in str # prints True
|
||
|
||
#Does the string str contain world? (note: case sensitive)
|
||
print "world" in str # prints False
|
||
|
||
print "code" not in str # prints True
|
||
```
|
||
|
||
#### Операторы идентификации
|
||
|
||
Оператор идентификации используется для проверки того, имеют ли две переменные одинаковое расположение памяти. `is` и `is not` есть операторы тождества
|
||
|
||
`is` возвращает Истина , если операнды относятся к одному объекту. Возвращает False в противном случае. `is not` возвращает True, если операнды не относятся к одному и тому же объекту. Возвращает False в противном случае.
|
||
|
||
Обратите внимание, что два значения, когда они равны, не обязательно должны совпадать.
|
||
|
||
###### Пример использования
|
||
|
||
```py
|
||
a = 3
|
||
b = 3
|
||
c = 4
|
||
print a is b # prints True
|
||
print a is not b # prints False
|
||
print a is not c # prints True
|
||
|
||
x = 1
|
||
y = x
|
||
z = y
|
||
print z is 1 # prints True
|
||
print z is x # prints True
|
||
|
||
str1 = "FreeCodeCamp"
|
||
str2 = "FreeCodeCamp"
|
||
|
||
print str1 is str2 # prints True
|
||
print "Code" is str2 # prints False
|
||
|
||
a = [10,20,30]
|
||
b = [10,20,30]
|
||
|
||
print a is b # prints False (since lists are mutable in Python)
|
||
|
||
``` |