Автор оригинала: Pankaj Kumar.
Python и оператор
Операторы в основном используются для выполнения операций по данным для манипулирования. Есть различные виды операторов I.E. Логические операторы, побитовые операторы, арифметические операторы и т. Д.
В Python есть два вида и операторы:
Логично и оператор
Побитовый и оператор
Логично и оператор
Логический и оператор работает с логическими значениями и результатами в истинные или ложные на основе условия. и Оператор возвращает True, когда оба операнда верны, иначе он возвращает false.
Синтаксис:
Operand1 и Operand2.
Пример :
num1 = int(input('Enter first number:\n')) num2 = int(input('Enter second number:\n')) if num1 > num2 and num1 < 10: print('True') elif num1 < 0 and num2 < 0: print('Both the numbers are negative.') else: print('False')
Выход :
Введите первый номер: 9 Введите второй номер: 5 TRUE
Логическая перегрузка оператора
Логические операторы Python работают на логических ценностях. По умолчанию объектно-логическое значение является Правда Отказ Если объект это Нет или Ложь Тогда логическое значение – Ложь Отказ Мы можем предоставить __bool __ () Реализация для изменения логических значений по умолчанию объекта.
class Data: def __init__(self, i): self.id = i def __bool__(self): return self.id % 2 == 0 d1 = Data(6) d2 = Data(4) print(bool(Data(3)) and bool(Data(4))) # False
Вышеуказанный фрагмент кода будет печатать False, потому что данные (3) логическое значение логично.
Если мы удалим реализацию функции __Bool __ (), оба объекта на объектах логического значения будут верны, и она будет печатать true.
Побитовый и оператор
Битовые операторы работают на битах. Он возвращает 1, когда обе биты операндов – это еще 1, что он возвращает 0 (ноль).
Синтаксис:
Operand1 & Operand2.
A (двоичный)
B (двоичный)
A & & (десятичный)
Пример :
a = 6 b = 4 c = a & b print(c)
Выход :
4
Побитопроизводство оператора
Существуют различные определенные методы для перегрузки побитовых операторов в Python.
__ и __ (я, другие) | & |
__ __ (Я, Другое) | | |
__кс __ (я, другой) | ^ |
__invert __ (Я) | ~ |
__lshift __ (Self, Другое) | <<. |
__rshift __ (Self, Другое) | >> |
class Operate(): def __init__(self, x): self.x = x def __and__(self, res): print("Bitwise AND operator overloading Example") if isinstance(res, Operate): return self.x & res.x else: raise ValueError("Must belong to Operate Class") if __name__ == "__main__": a = Operate(6) b = Operate(4) print(a&b)
Выход :
Пример побитового и оператора перегрузка 4
Порядок оценки логических операторов
Выполнение операндов через операторы происходят из слева направо
Отказ
Пример :
def evaluate(n): print("Function called for operand:", n) return True if n > 0 else False x = evaluate y = evaluate z = evaluate if x(-1) or y(5) and z(10): print("One of the numbers is positive.")
Выход :
Функция вызывается для операнда: 5 Функция вызывается для операнда: 10 Один из чисел положительный.