Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Подробное руководство по операторам Python: арифметические, логические, сравнения, присваивания, битовые и приоритет

Что такое логические операторы в Python?

Логические операторы в Python вычисляют булевы выражения и возвращают True или False. Три основных: and, or, not. Незаменимы для управления потоком в if, while и других условных конструкциях.

В этом уроке мы рассмотрим весь спектр операторов Python:

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

Выполняют числовые вычисления. Python поддерживает: + (сложение), - (вычитание), * (умножение), / (обычное деление), // (целочисленное деление), % (остаток), ** (возведение в степень). Могут использоваться прямо в выражениях или через eval() для динамического вычисления.

Пример: простое сложение

x = 4
y = 5
print(x + y) # Вывод: 9

Остальные работают аналогично: 4 * 5 даёт 20, 4 / 2 — 2.0, 4 ** 2 — 16.

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

Оценки отношения между двумя значениями, возвращают булев результат. Включают:

Пример: сравнение двух переменных

x = 4
y = 5
print('x > y is', x > y) # Вывод: False

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

Сохраняют значения в переменных. Базовая форма — =, составные комбинируют операцию с присваиванием: +=, -=, *=, /=, **=.

Пример: базовое и составное присваивание

num1 = 4
num2 = 5
print('Line 1 - Value of num1:', num1)
print('Line 2 - Value of num2:', num2)
# Составное сложение
res = num1 + num2
res += num1
print('Line 3 - Result after res += num1:', res) # Вывод: 13

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

Логические (and, or, not) вычисляют булевы выражения. Битовые (&, |, ^, ~, <<, >>) выполняют побитовую манипуляцию.

Пример: логические операции

a = True
b = False
print('a and b is', a and b) # False
print('a or b is', a or b)   # True
print('not a is', not a)     # False

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

Проверяют наличие значения в последовательности: in и not in.

Пример: проверка принадлежности в списке

x = 4
y = 8
sample_list = [1, 2, 3, 4, 5]
if x in sample_list:
    print('Line 1 - x is available in the list')
else:
    print('Line 1 - x is not available in the list')
if y not in sample_list:
    print('Line 2 - y is not available in the list')
else:
    print('Line 2 - y is available in the list')

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

Сравнивают адреса объектов в памяти: is и is not. Важны для различения объектов, равных по значению, но разных по идентичности.

Пример: сравнение тождества

x = 20
y = 20
if x is y:
    print('x & y have the same identity')
y = 30
if x is not y:
    print('x & y have different identities')

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

Python следует строгой иерархии приоритетов для разрешения выражений без скобок. Высший приоритет — возведение в степень (**), затем унарные операторы, умножение/деление/остаток, сложение/вычитание, операторы сравнения, тождества, принадлежности, логические и наконец присваивания.

Скобки переопределяют приоритет по умолчанию и делают выражения явными.

Пример: приоритет в действии

v = 4
w = 5
x = 8
y = 2
z = (v + w) * x / y
print('Value of (v + w) * x / y is', z) # Вывод: 28.0

Совместимость с Python 2

Ниже эквивалентные фрагменты для Python 2, использующего print без скобок.

# Arithmetic Operators
x = 4
y = 5
print x + y
# Comparison Operators
x = 4
y = 5
print 'x > y is', x > y
# Assignment Operators
num1 = 4
num2 = 5
print 'Line 1 - Value of num1:', num1
print 'Line 2 - Value of num2:', num2
# Compound Assignment
num1 = 4
num2 = 5
res = num1 + num2
res += num1
print 'Line 3 - Result after res += num1:', res
# Logical Operators
a = True
b = False
print 'a and b is', a and b
print 'a or b is', a or b
print 'not a is', not a
# Membership Operators
x = 4
y = 8
sample_list = [1, 2, 3, 4, 5]
if x in sample_list:
    print 'Line 1 - x is available in the list'
else:
    print 'Line 1 - x is not available in the list'
if y not in sample_list:
    print 'Line 2 - y is not available in the list'
else:
    print 'Line 2 - y is available in the list'
# Identity Operators
x = 20
y = 20
if x is y:
    print 'x & y have the same identity'
y = 30
if x is not y:
    print 'x & y have different identities'
# Operator Precedence
v = 4
w = 5
x = 8
y = 2
z = (v + w) * x / y
print 'Value of (v + w) * x / y is', z

Резюме

Python

  1. Освоение побитовых и сдвиговых операторов в C#: полное руководство
  2. Переменные, константы и литералы в Python — подробное руководство
  3. Освоение типов данных в Python: практическое руководство
  4. Мастерство операторов Python: Полное руководство
  5. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  6. Словари в Python: создание, манипуляции и продвинутые техники
  7. Итераторы в Python: как они работают и как создать свои
  8. Замыкания в Python: как вложенные функции захватывают переменные
  9. Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
  10. Побитовые операторы в C: И, ИЛИ, XOR, сдвиги и дополнение — подробно