Uso de Python como una calculadora — 20 min

  • 20 min | Última modificación: Octubre 4, 2021

Comentarios

Usos:

  • Documentar el código (El por qué, no el como)

  • Evitar la ejecución del código durante la fase de pruebas y verificación.

[1]:
# Comentario de una línea
[2]:
print("hola mundo cruel!")  # comentario después del codigo
hola mundo cruel!
[3]:
#
# Comentario de varias líneas
#
[4]:
"""
Comentario entre comillas dobles.

Se usa para documentar modulos y funciones, o para comentar
bloques de código.

"""
print("Hola mundo cruel!")
Hola mundo cruel!
[5]:
"""
Este es un comentario entre comillas dobles
"""
print("Hola mundo cruel!")
Hola mundo cruel!

Los codetags usandos en los comentarios son los siguientes:

TODO:    código pendiente por completar
FIXME:   áreas problemáticas o código que necesita ser reesrito.
BUG:     Defecto reportado
RFE:     Request For Enhancement
???:     Pregunta
!!!:     Alerta
TODOC:   Necesita documentación

Números

[6]:
#
# Tipo entero (int)
#
display(
    1,
    type(1),
)
print(type(1))
1
int
<class 'int'>
[7]:
#
# Tipo flotante (float)
#
display(
    1.0,
    type(1.0),
)
print(type(1.0))
1.0
float
<class 'float'>
[8]:
#
# Tipo imaginario (complex)
#
display(
    1 + 1j,
    type(1 + 1j),
)
print(type(1 + 1j))
(1+1j)
complex
<class 'complex'>
[9]:
display(
    int(1.0),
    type(int(1.0)),
)
print(type(int(1.0)))
1
int
<class 'int'>
[10]:
display(
    float(1),
    type(float(1)),
)
print(type(float(1)))
1.0
float
<class 'float'>
[11]:
display(
    complex(1),
    type(complex(1)),
)
(1+0j)
complex
[12]:
#
# Operadores sobre enteros
#
2 + 2 + 1,
[12]:
(5,)
[13]:
#
#   +   Suma
#   -   Resta
#   *   Multiplicación
#   /   Division
#   //  Parte entera de la division
#   %   Residuo de la división
#   **  Potenciación
#
display(
    8 // 5,
    8 % 5,
    8 ** 5,
)
1
3
32768
[14]:
#
# Precedencia de operadores
#
#  [+]
#   |
#   +--- 1
#   |
#   +--- [*]
#         |
#         +--- 2
#         |
#         +--- [**]
#               |
#               +---- 3
#               |
#               +---- 4
1 + 2 * 3 ** 4
[14]:
163
[15]:
#
# Conversion automática del tipo de dato
#
print(8 / 5)
type(8 / 5)
1.6
[15]:
float
[16]:
#
# int + float
#
1 + 1.0
[16]:
2.0

Booleanos

[17]:
True
[17]:
True
[18]:
type(True)
[18]:
bool
[19]:
int(True)
[19]:
1
[20]:
int(False)
[20]:
0
[21]:
False * 1
[21]:
0
[22]:
True + True + True
[22]:
3
[23]:
True * 4
[23]:
4
[24]:
True / 10
[24]:
0.1
[25]:
bool()
[25]:
False
[26]:
display(
    bool(1),
    bool(2.0),
    bool("hola"),
    bool(True),
)
True
True
True
True
[27]:
display(
    bool(False),
    bool(None),
    bool(0),
    bool(0.0),
    bool(""),
    bool(()),
    bool([]),
    bool({}),
)
False
False
False
False
False
False
False
False
[28]:
not True
[28]:
False
[29]:
1 is None
[29]:
False

None (Tipo Nulo)

[30]:
x = None

print(x)
None
[31]:
type(None)
[31]:
NoneType
[32]:
print(type(None))
<class 'NoneType'>
[33]:
display(
    x == None,
    x is None,
    x is not None,
)
True
True
False

Variables

[34]:
#
# Asignación de variables y operadores aritméticos
#
base = 4
altura = 5
area = base * altura
area
[34]:
20
[35]:
#
# Asignación de un valor a varias variables
#
x = y = z = 1

display(
    x,
    y,
    z,
)
1
1
1
[36]:
#
# Asignación de varios valores a varias variables
#
x, y, z = 1, 2, 3

display(
    x,
    y,
    z,
)
1
2
3
[37]:
#
# Variables con strings
#
first_name = "John"
family_name = "Wick"
first_name + family_name
[37]:
'JohnWick'
[38]:
first_name + " " + family_name
[38]:
'John Wick'

Strings

[39]:
#
# Escritura con comillas simples
#
"hola mundo"
[39]:
'hola mundo'
[40]:
#
# Escritura con comillas dobles
#
"hola mundo cruel!"
[40]:
'hola mundo cruel!'
[41]:
#
# Uso de comillas triples
#
"""hola mundo cruel!"""
[41]:
'hola mundo cruel!'
[42]:
#
# Uso alternado de comillas. Python entiende que se usa
# la comilla simples para delimitar el string.
#
'--"--'
[42]:
'--"--'
[43]:
"--'--"
[43]:
"--'--"
[44]:
#
# En estos dos casos se requiere usar el `\` para
# indicar que la comilla intermedia no es el delimitador.
# (caracter escapado)
#
'--"--'
[44]:
'--"--'
[45]:
"--'--"
[45]:
"--'--"
[46]:
#
# Cadenas de caracteres de varias lineas
#
"""
  Hola
  Mundo
  Cruel!
"""
[46]:
'\n  Hola\n  Mundo\n  Cruel!\n'
[47]:
"Hola" "Mundo" "Cruel!"
[47]:
'HolaMundoCruel!'
[48]:
#
# Error caracter multilinea
#
[49]:
#
# Operadores aritmeticos.
#   En strings + representa concatenacion y
#   * representa repetición
#
"Hola" + "Mundo" + "Cruel!"
[49]:
'HolaMundoCruel!'
[50]:
"Hola" + str(3)
[50]:
'Hola3'
[51]:
"Hola" * 3
[51]:
'HolaHolaHola'
[ ]:
#
# Errorres en manejo de cadenas de caracteres
#
[ ]:
3 * "abc " + "012"
[ ]:
"abc " * 3 + "012"
[ ]:
#
# Note que acá se ignoran los espacios
# entre las comillas interiores
#
"Py" "thon"