Introducción a la programación en Python

clase 01b
Tipos numéricos y aritmética

números

En Python hay tres tipos numéricos básicos: los enteros, los números de coma flotante y los números complejos.

A través de bibliotecas o módulos externos se pueden incorporar otros tipos numéricos, como decimal y fracción.

Vamos a comenzar utilizando los tipos de números enteros y de coma flotante.

enteros

El tipo int representa números enteros positivos y negativos, de precisión ilimitada (limitada solo por el tamaño de la memoria disponible, no por el lenguaje).

In [ ]:
7
In [ ]:
-728
In [ ]:
2387672347650910239486849367819823783745

coma flotante

El tipo float representa números decimales, también positivos y negativos de precisión ilimitada.

In [ ]:
2.238476
In [ ]:
-3.173982340234958656580
In [ ]:
1.
In [ ]:
.1

otras representaciones

Además de la notación decimal, los valores numéricos enteros también se pueden representar en notación binaria, octal o hexadecimal.

  • binaria

Utiliza solamente los dígitos 0 y 1, y se identifica con el prefijo 0b o 0B.

In [ ]:
0b11011
  • octal

Utiliza los dígitos 0 a 7, y se identifica con el prefijo 0o o 0O.

In [ ]:
0o33
  • hexadecimal

Utiliza los dígitos 0 a 9 y las letras A a F (mayúsculas o minúsculas). Se identifica con el prefijo 0x o 0x.

In [ ]:
0x1b

notación exponencial

Los números de coma flotante también pueden representarse con notación exponencial de base 10, utilizando la letra e. Siempre devuelve un número de tipo float.

In [ ]:
2.31e4
In [ ]:
2e4

aritmética en Python

Python tiene integrados todos los operadores aritméticos básicos.

Mediante módulos externos, se pueden incorporar operadores adicionales.

operadores aritméticos

  • suma: +
In [ ]:
2+3
  • resta: -
In [ ]:
7-5
  • multiplicación: *
In [ ]:
4*3
  • división: /

Siempre devuelve un número de coma flotante.

In [ ]:
12/3
In [ ]:
14/5
In [ ]:
-14/5
  • división entera: //

Siempre devuelve un entero.

In [ ]:
14//5
In [ ]:
-14//5
In [ ]:
-14//-5
  • módulo: %

Devuelve el resto de la división entera.

In [ ]:
14%5
In [ ]:
-14%5
In [ ]:
-14%-5
  • potencia: **
In [ ]:
2**10
  • negación (unaria): -
In [ ]:
-5

orden de precedencia

Cuando se escribe más de una operación sucesiva, las mismas se realizan siguiendo este orden de precedencia:

  • potencia: **
  • negación: -
  • multiplicación, división, división entera, módulo: *, /, //, %
  • suma, resta: +, -

Si se quiere cambiar el orden de precedencia, se pueden encerrar operaciones entre paréntesis, y serán evaluadas primero.

In [ ]:
3+4*2
In [ ]:
(3+4)*2
In [ ]:
-2**2
In [ ]:
(-2)**2
In [ ]:
2**1/12
In [ ]:
2**(1/12)

operadores relacionales

Los operadores relacionales comparan dos valores, y devuelven los valores booleanos True si la relación es verdadera, o False si es falsa.

  • mayor que: >
In [ ]:
5 > 3
  • menor que: <
In [ ]:
5 < 3
  • igual a: ==
In [ ]:
5 == 5
In [ ]:
5 == 3
  • distinto de: !=
In [ ]:
5 != 3
In [ ]:
5 != 5
  • mayor o igual que: >=
In [ ]:
5 >= 3
In [ ]:
5 >= 5
In [ ]:
5 >= 7
  • menor o igual que: <=
In [ ]:
3 <= 3
In [ ]:
3 <= 5
In [ ]:
3 <= 1

operadores de Boole

Los operadores de Boole o booleanos operan sobre expresiones que tiene valor de True (verdadero) o False (falso), y devuelven el valor correspondiente.

Hay dos operadores binarios (or y and), y un operador unario (not).

Supongamos que tenemos expresiones que pueden tener valor de verdadero o falso. Los operadores de Boole se comportan de la siguiente manera:

  • and

devuelve el valor True solamente si ambas expresiones son verdaderas, de lo contrario devuelve False.

In [ ]:
True and True
In [ ]:
True and False
In [ ]:
False and False
  • or

devuelve True si cualquiera de las dos expresiones es verdadera, y devuelve False solamente si ambas son falsas.

In [ ]:
True or True
In [ ]:
True or False
In [ ]:
False or False
  • not

devuelve el valor contrario al de la expresión.

In [ ]:
not True
In [ ]:
not False