English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете о различных типах операторов в Python, их синтаксисе и том, как их использовать в примерах.
Операторы - это особые символы в Python, выполняющие арифметические или логические вычисления. Значения, на которые действуют операторы, называются operand.
Например:
>>> 2+3 5
Здесь, + является оператором выполнения сложения. 2 и 3 являются operand, 5 является результатом операции.
Арифметические операторы используются для выполнения математических операций, таких как сложение, вычитание, умножение и т.д.
Оператор | Значение | Пример |
---|---|---|
+ | Добавление - сложение двух operand или унарного plus | x + y + 2 |
- | Сбавление - вычитание правого operand из левого operand или унарного минуса | x-y- 2 |
* | Умножение - умножение двух operand | x * y |
/ | Деление - деление левого operand на правый operand (результат всегда float) | x / y |
% | Модуль - оставшаяся часть после деления левой operand на правую operand | x % y (остаток от деления x / y) |
// | Целочисленное деление - возвращает целую часть деления (в了下нюю сторону) | x // y |
** | Мощность - возвращает x в y-й степени | x ** y (в幂 раз x) |
x = 15 y = 4 # Выход: x + y = 19 print('x + y =', x+y) # Выход: x - y = 11 print('x - y =', x-y) # Выход: x * y = 60 print('x * y =', x*y) # Выход: x / y = 3.75 print('x / y =', x/y) # Выход: x // y = 3 print('x // y =',x//y) # 输出: x ** y = 50625 print('x // y =', x//y)
# Вывод: x ** y = 50625
print('x ** y =', x**y) При выполнении этой программы выводится: x + y = 19 x - y = 11 x * y = 60 x / y = 3.75
x ** y = 50625
Оператор | Значение | Пример |
---|---|---|
Сравнительные операторы | Сравнительные операторы используются для сравнения значений. Они возвращают True или False в зависимости от условия. | > |
больше - если левый операнд больше правого операнда, то True | < | Меньше - если левый операнд меньше правого операнда, то True |
x < y | == | Равно - если два операнда равны, то True |
x == y | != | Не равно - если операнды не равны, то True |
x != y | >= | больше или равно - если левый операнд больше или равен правому, то True |
<= | Меньше или равно - если левый операнд меньше или равен правому, то True | x <= y |
x = 10 y = 12 # Вывод: x > y является False print('x > y является', x>y) # Вывод: x < y является True print('x < y является', x<y) # Вывод: x == y является False print('x == y является', x==y) # Вывод: x != y является True print('x != y является', x!=y) # Вывод: x >= y является False print('x >= y является', x>=y) # Вывод: x <= y является True print('x <= y является', x<=y)
Результат вывода
x > y является False x < y является True x == y является False x != y является True x >= y является False x <= y является True
Логические операторы are and, or, not операторы.
Оператор | Значение | Пример |
---|---|---|
and | Если оба операнда истинны,则为 True | x и y |
or | Если любой операнд истинен,则为 True | x или y |
not | Если операнд false,则为 True (дополнительная информация об операнде) | не x |
x = True y = False print('x и y являются', x и y) print('x or y — ', x or y) print('not x — ', not x)
Результат вывода
x and y — False x or y — True not x — False
Это таблица истинности для этих операторов:Таблица истинности.
Битовое вычисление действует на операнды, как будто они строка двоичных чисел. Они работают по одному, поэтому они получили это имя.
Например, 2 — это 10 в двоичном виде, 7 — это 111.
в таблице ниже:позволяетx= 10 (0000 1010 в двоичном виде) иy= 4 (0000 0100 в двоичном виде)
Оператор | Значение | Пример |
---|---|---|
& | Битовое И | x & y = 0 (0000 0000) |
| | Битовое ИЛИ | x | y = 14 (0000 1110) |
~ | Битовое не | ~x = -11 (1111 0101) |
^ | Битовое исключающее ИЛИ | x ^ y = 14 (0000 1110) |
>> | Битовое правое смещение | x >> 2 = 2 (0000 0010) |
<< | Битовое левое смещение | x << 2 = 40 (0010 1000) |
В Python используется оператор присваивания для присвоения значений переменным.
a = 5 — это простой оператор присваивания, которыйassigns значение справа (5) переменной слеваa.
В Python есть много подобных сложных операторов, такие как a += 5, которые добавляются к переменной, а затем им присваивается значение. Эквивалент a = a + 5.
Оператор | Пример | Эквивалент |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x - 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
//= | x //= 5 | x = x // 5 |
**= | x **= 5 | x = x ** 5 |
&= | x &= 5 | x = x & 5 |
|= | x |= 5 | x = x | 5 |
^= | x ^= 5 | x = x ^ 5 |
>>= | x >>= 5 | x = x >> 5 |
<<= | x <<= 5 | x = x << 5 |
Язык Python предоставляет некоторые специальные типы операторов, такие как операторы идентичности или операторы членства. Ниже с помощью примеров рассмотрим их.
is и is not — это операторы идентичности в Python. Они используются для проверки того, находятся ли два значения (или переменные) в одной и той же части памяти. Два равных переменные не означают, что они одни и те же.
Оператор | Значение | Пример |
---|---|---|
is | Если операнды одинаковые, то истина (ссылаются на один и тот же объект) | x истинно |
is not | Если операнды不相同, то истина (не ссылаются на один и тот же объект) | x не истинно |
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = [1, 2, 3] y3 = [1, 2, 3] # Вывод: False print(x1 is not y1) # Вывод: True print(x2 is y2) # Вывод: False print(x3 is y3)
Результат вывода
False True False
Здесь мы видимx1иy1являются целыми числами с одинаковыми значениями, поэтому они как равны, так и идентичны.x2иy2ситуация такая же с строками.
Ноx3иy3являются списками. Они равны, но различаются. Потому что, хотя они равны, интерпретатор все же их различает, размещая их в памяти.
in и not in являются операторами членства в Python. Они используются для проверки наличия в последовательности (строка,список,тупль,множествоисловарьНайден ли ключ или переменная в
В словарях мы можем проверять только наличие ключей, а не значений.
Оператор | Значение | Пример |
---|---|---|
in | Если значение/вариант найден в последовательности, то истина | 5 in x |
not in | Если значение/вариант не найден в последовательности, то истина | 5 not in x |
x = 'Hello world' y = {1: 'a', 2: 'b'} # Вывод: True print('H' in x) # Вывод: True print('hello' not in x) # Вывод: True print(1 in y) # Вывод: False print('a' in y)
Результат вывода
True True True False
Здесь, 'H'存在于 x, но 'hello' не существует в x (не забывайте, что Python чувствителен к регистру). Аналогично, 1 является ключом, а a является значением словаря y, поэтому a в y возвращает False.