{ "metadata": { "name": "Capitulo22_Sobrecarga_de_operadores" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Python para Desenvolvedores](http://ricardoduarte.github.io/python-para-desenvolvedores/#conteudo)\n", "===================================\n", "2ª edi\u00e7\u00e3o, revisada e ampliada\n", "-----------------------------------\n", "\n", "Cap\u00edtulo 22: Sobrecarga de operadores\n", "=============================\n", "_____________________________\n", "No Python, o comportamento dos operadores \u00e9 definido por m\u00e9todos especiais, por\u00e9m tais m\u00e9todos s\u00f3 podem ser alterados nas classes abertas. Por conven\u00e7\u00e3o, os m\u00e9todos especiais t\u00eam nomes que come\u00e7am e terminam com \"`__`\".\n", "\n", "Lista de operadores e os m\u00e9todos correspondentes:\n", "\n", "
Operador | \n", "M\u00e9todo | \n", "Opera\u00e7\u00e3o | \n", "
---|---|---|
+ | \n",
" __add__ | \n",
" adi\u00e7\u00e3o | \n", "
- | \n",
" __sub__ | \n",
" subtra\u00e7\u00e3o | \n", "
* | \n",
" __mul__ | \n",
" multiplica\u00e7\u00e3o | \n", "
/ | \n",
" __div__ | \n",
" divis\u00e3o | \n", "
// | \n",
" __floordiv__ | \n",
" divis\u00e3o inteira | \n", "
% | \n",
" __mod__ | \n",
" m\u00f3dulo | \n", "
** | \n",
" __pow__ | \n",
" pot\u00eancia | \n", "
+ | \n",
" __pos__ | \n",
" positivo | \n", "
- | \n",
" __neg__ | \n",
" negativo | \n", "
< | \n",
" __lt__ | \n",
" menor que | \n", "
> | \n",
" __gt__ | \n",
" maior que | \n", "
<= | \n",
" __le__ | \n",
" menor ou igual a | \n", "
>= | \n",
" __ge__ | \n",
" maior ou igual a | \n", "
== | \n",
" __eq__ | \n",
" igual a | \n", "
!= | \n",
" __ne__ | \n",
" diferente de | \n", "
<< | \n",
" __lshift__ | \n",
" deslocamento para esquerda | \n", "
>> | \n",
" __rshift__ | \n",
" deslocamento para direita | \n", "
& | \n",
" __and__ | \n",
" e bit-a-bit | \n", "
| | \n",
" __or__ | \n",
" ou bit-a-bit | \n", "
^ | \n",
" __xor__ | \n",
" ou exclusivo bit-a-bit | \n", "
~ | \n",
" __inv__ | \n",
" invers\u00e3o | \n", "