Как работают арифметические операции
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
#magic
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__.#magic
👍4🔥1
Магические методы
Магические методы — это специальные методы, которые начинаются и заканчиваются двойным подчеркиванием.
Такие методы вызываются не напрямую, а при определенном действии. Например, когда вы складываете два числа с помощью оператора
Встроенные классы имеют много реализованных магических методов по умолчанию. Для примера можете взглянуть на их количество у того же
На канале уже было довольно много постов про отдельные магические методы, вот некоторые из них:
— Инкремент с помощью __pos__
— Как работают арифметические операции
— Разница между __str__ и __repr__
Кстати, в английском магический метод еще часто называют dunder, сокращение от double underscore.
#magic
Магические методы — это специальные методы, которые начинаются и заканчиваются двойным подчеркиванием.
Такие методы вызываются не напрямую, а при определенном действии. Например, когда вы складываете два числа с помощью оператора
+, вызывается метод __add__().Встроенные классы имеют много реализованных магических методов по умолчанию. Для примера можете взглянуть на их количество у того же
int на картинке выше.На канале уже было довольно много постов про отдельные магические методы, вот некоторые из них:
— Инкремент с помощью __pos__
— Как работают арифметические операции
— Разница между __str__ и __repr__
Кстати, в английском магический метод еще часто называют dunder, сокращение от double underscore.
#magic
😱2
Проверка истинности объекта класса
Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магический" метод
Если данный метод определен в классе, то он будет вызываться при каждой проверке объекта на истинность а также с помощью функции
Если
#magic #__bool__
Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магический" метод
__bool__(), который был добавлен на замену устаревшему __nonzero__() в python2.Если данный метод определен в классе, то он будет вызываться при каждой проверке объекта на истинность а также с помощью функции
bool(). Метод должен возвращать False или True. Если
__bool__() не определен, будет вызываться метод __len__(), если он определен, и, соответственно, объект будет считаться истинным, если результат __len__() не будет равен нулю. Если в классе не определены ни __len__(), ни __bool__(), все его экземпляры будут истинными.#magic #__bool__
👍2
Как работают арифметические операции
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
#magic
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__.#magic
👍27❤2😱1
Как работают арифметические операции
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
#magic
Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы.
Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого.
Еще стоит отметить, что у
float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__.#magic
❤4👍4