Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Puntos Clave
Puntos Clave
2. Las funciones integradas, al contrario de las funciones definidas por el usuario, están
siempre disponibles y no tienen que ser importadas. Python 3.7.1 viene con 69 funciones
incorporadas. Puedes encontrar su lista completa en orden alfabético en Python Standard
Library.
3. Para llamar a una función (invocación de función), debe utilizarse el nombre de la función
seguido de un paréntesis. Puedes pasar argumentos a una función colocándolos dentro de los
paréntesis. Se Deben separar los argumentos con una coma, por ejemplo, print("¡Hola,",
"Mundo!") . una función print() "vacía" imprime una línea vacía a la pantalla.
4. Las cadenas de Python están delimitadas por comillas, por ejemplo, "Soy una cadena" ,
o 'Yo soy una cadena, también' .
9. Los parámetros end y sep se pueden usar para dar formato la salida de la
función print() . El parámetro sep especifica el separador entre los argumentos emitidos
(por ejemplo, print("H", "E", "L", "L", "O", sep="-") , mientras que el
parámetro end especifica que imprimir al final de la declaración de impresión.
Puntos Clave
1. Literales son notaciones para representar valores fijos en el código. Python tiene varios
tipos de literales, es decir, un literal puede ser un número por ejemplo, 123 ), o una cadena
(por ejemplo, "Yo soy un literal.").
3. Los Enteros (o simplemente int) son uno de los tipos numéricos que soporta Python. Son
números que no tienen una parte fraccionaria, por ejemplo, 256 , o -1 (enteros negativos).
5. Para codificar un apóstrofe o una comilla dentro de una cadena se puede utilizar el carácter
de escape, por ejemplo, 'I\'m happy.' , o abrir y cerrar la cadena utilizando un conjunto de
símbolos distintos al símbolo que se desea codificar, por ejemplo, "I'm happy." para
codificar un apóstrofe, y 'Él dijo "Python", no "typhoon"' para codificar comillas.
6. Los Valores Booleanos son dos objetos constantes Verdadero y Falso empleados para
representar valores de verdad (en contextos numéricos 1 es True , mientras
que 0 es False ).
EXTRA
Existe un literal especial más utilizado en Python: el literal None . Este literal es llamado un
objeto de NonType (ningún tipo), y puede ser utilizado para representar la ausencia de un
valor. Pronto se hablará más acerca de ello.
Puntos Clave
1. Los comentarios pueden ser utilizados para colocar información adicional en el código. Son
omitidos al momento de la ejecución. Dicha información es para los lectores que están
manipulando el código. En Python, un comentario es un fragmento de texto que comienza con
un # . El comentario se extiende hasta el final de la línea.
2. Si deseas colocar un comentario que abarque varias líneas, es necesario colocar un # al
inicio de cada línea. Además, se puede utilizar un comentario para marcar un fragmento de
código que no es necesaria en el momento y no se desea ejecutar. (observa la última línea de
código del siguiente fragmento), por ejemplo:
3. Cuando sea posible, se deben auto comentar los nombres de las variables, por ejemplo,
si se están utilizando dos variables para almacenar la altura y longitud de algo, los
nombres altura y longitud son una mejor elección que mivar1 y mivar2 .
4. Es importante utilizar los comentarios para que los programas sean más fáciles de
entender, además de emplear variables legibles y significativas en el código. Sin embargo, es
igualmente importante no utilizar nombres de variables que sean confusos, o dejar
comentarios que contengan información incorrecta.
5. Los comentarios pueden ser muy útiles cuando tú estás leyendo tu propio código después
de un tiempo (es común que los desarrolladores olviden lo que su propio código hace), y
cuando otros están leyendo tu código (les puede ayudar a comprender que es lo que hacen
tus programas y como es que lo hacen).
1. La función print() envía datos a la consola, mientras que la función input() obtiene
datos de la consola.
2. La función input() viene con un parámetro inicial: un mensaje de tipo cadena para el
usuario. Permite escribir un mensaje antes de la entrada del usuario, por ejemplo:
3. Cuando la función input() es llamada o invocada, el flujo del programa se detiene, el
símbolo del cursor se mantiene parpadeando (le está indicando al usuario que tome acción ya
que la consola está en modo de entrada) hasta que el usuario haya ingresado un dato y/o
haya presionado la tecla Enter.
NOTA
if name == "ESPATIFILIO":
print("Si, ¡El ESPATIFILIO es la mejor planta de todos los
tiempos!")
elif name == "espatifilo":
print("No, ¡quiero un gran ESPATIFILIO!")
else:
print("!ESPATIFILIO!, ¡No " + name + "!")
2)
income = float(input("Introduce el ingreso anual: "))
tax = round(tax, 0)
print("El impuesto es:",tax,"pesos.")
3)
year = int(input("Introduce un año: "))
Puntos Clave
x != y # True
x != z #
Devuelve True si los valores de los operandos no son
!= False
iguales, y False de lo contrario.
x > y # False
Devuelve True si el valor del operando izquierdo es mayor y > z # True
>
que el valor del operando derecho, y False de lo contrario.
x < y # True
Devuelve True si el valor del operando izquierdo es menor y < z # False
<
que el valor del operando derecho, y False de lo contrario.
x >= y #
False
Devuelve True si el valor del operando izquierdo es mayor
x >= z # True
≥ o igual al valor del operando derecho, y False de lo y >= z # True
contrario.
≤ Devuelve True si el valor del operando izquierdo es menor x <= y # True
o igual al valor del operando derecho, y False de lo x <= z # True
contrario. y <= z #
False
2. Cuando deseas ejecutar algún código solo si se cumple una determinada condición, puedes usar
una sentencia condicional:
x = 10
if x == 10: # condición
print("x es igual a 10") # Ejecutado si la condición es
Verdadera.
x = 10
x = 10
else:
print("x es mayor o igual a 10") # Ejecutado si la
condición es Falsa.
x = 10
if x > 5: # True
print("x > 5")
if x > 8: # True
print("x > 8")
else:
print("se ejecutará el else")
Cada if se prueba por separado. El cuerpo de else se ejecuta si el último if es False .
x = 10
if x == 10: # True
print("x == 10")
else:
print("else no será ejecutado")
x = 10
if x > 5: # True
if x == 6: # False
print("anidado: x == 6")
elif x == 10: # True
print("anidado: x == 10")
else:
print("anidado: else")
else:
print("else")
Ejercicio 1
x = 5
y = 10
z = 8
print(x > y)
print(y > z)
Revisar
False
True
salida
Ejercicio 2
¿Cuál es la salida del siguiente fragmento de código?
x, y, z = 5, 10, 8
print(x > z)
print((y - 5) == x)
Revisar
False
True
salida
Ejercicio 3
x, y, z = 5, 10, 8
x, y, z = z, y, x
print(x > z)
print((y - 5) == x)
Revisar
True
False
salida
Ejercicio 4
x = 10
if x == 10:
print(x == 10)
if x > 5:
print(x > 5)
if x < 10:
print(x < 10)
else:
print("else")
Revisar
True
True
else
salida
Ejercicio 5
x = "1"
if x == 1:
print("uno")
elif x == "1":
if int(x) > 1:
print("dos")
elif int(x) < 1:
print("tres")
else:
print("cuatro")
if int(x) == 1:
print("cinco")
else:
print("seis")
Revisar
cuatro
cinco
salida
Ejercicio 6
if x == y:
print("uno")
if y == int(z):
print("dos")
elif x == y:
print("tres")
else:
print("cuatro")
Revisar
uno
dos
Puntos Clave
1. Una función es un bloque de código que realiza una tarea especifica cuando la función es llamada
(invocada). Las funciones son útiles para hacer que el código sea reutilizable, que este mejor organizado
y más legible. Las funciones contienen parámetros y pueden regresar valores.
3. Las funciones propias se pueden definir utilizando la palabra reservada def y con la siguiente
sintaxis:
Se puede definir una función sin que haga uso de argumentos, por ejemplo:
def message(): # definiendo una función
print("Hello") # cuerpo de la función
También es posible definir funciones con argumentos, como la siguiente que contiene un solo parámetro:
Ejercicio 1
Revisar
Ejercicio 2
¿Qué es lo que ocurre cuando se invoca una función antes de ser definida? Ejemplo:
hi()
def hi():
print("¡Hola!")
Revisar
Ejercicio 3
def hi():
print("hola")
hi(5)
Revisar
Se genera una excepción (la excepción TypeError ) â’ la función hi() no toma argumentos
Puntos Clave
1. Se puede pasar información a las funciones utilizando parámetros. Las funciones pueden tener tantos
parámetros como sean necesarios.
def hi(name):
print("Hola,", name)
hi("Greg")
hi_all("Sebastián", "Konrad")
s = input("Calle: ")
p_c = input("Código Postal: ")
c = input("Ciudad: ")
address(s, c, p_c)
subtra(5, 2) # salida: 3
subtra(2, 5) # salida: -3
#Ejemplo 2
def subtra(a, b):
print(a - b)
#Ejemplo 3
def subtra(a, b):
print(a - b)
3. Se puede utilizar la técnica de argumentos con palabras clave para asignar valores predefinidos a los
argumentos:
Ejercicio 1
intro()
Revisar
Ejercicio 2
Revisar
Ejercicio 3
intro("Susan")
Revisar
Ejercicio 4
add_numbers(a=1, c=3)
Revisar
Puntos Clave
1. Puedes emplear la palabra clave reservada return para decirle a una función que devuelva algún
valor. La instrucción return termina la función, por ejemplo:
def multiply(a, b):
return a * b
2. El resultado de una función se puede asignar fácilmente a una variable, por ejemplo:
def wishes():
return "¡Felíz Cumpleaños!"
w = wishes()
# Ejemplo 1
def wishes():
print("Mis deseos")
return "Felíz Cumpleaños"
# Ejemplo 2
def wishes():
print("Mis deseos")
return "Felíz Cumpleaños"
print(wishes())
3. Puedes usar una lista como argumento de una función, por ejemplo:
def hi_everybody(my_list):
for name in my_list:
print("Hola,", name)
def create_list(n):
my_list = []
for i in range(n):
my_list.append(i)
return my_list
print(create_list(5))
Ejercicio 1
def hi():
return
print("¡Hola!")
hi()
Revisar
Ejercicio 2
def is_int(data):
if type(data) == int:
return True
elif type(data) == float:
return False
print(is_int(5))
print(is_int(5.0))
print(is_int("5"))
Revisar
True
False
None
Ejercicio 3
def even_num_lst(ran):
lst = []
for num in range(ran):
if num % 2 == 0:
lst.append(num)
return lst
print(even_num_lst(11))
Revisar
[0, 2, 4, 6, 8, 10]
Ejercicio 4
def list_updater(lst):
upd_list = []
for elem in lst:
elem **= 2
upd_list.append(elem)
return upd_list
foo = [1, 2, 3, 4, 5]
print(list_updater(foo))
Revisar
Puntos Clave
1. Una variable que existe fuera de una función tiene alcance dentro del cuerpo de la función. (Ejemplo
1) al menos que la función defina una variable con el mismo nombre. (Ejemplo 2, y Ejemplo 3), por
ejemplo:
Ejemplo 1:
var = 2
def mult_by_var(x):
return x * var
print(mult_by_var(7)) # salida: 14
Ejemplo 2:
def mult(x):
var = 5
return x * var
print(mult(7)) # salida: 35
Ejemplo 3:
def mult(x):
var = 7
return x * var
var = 3
print(mult(7)) # salida: 49
2. Una variable que existe dentro de una función tiene un alcance solo dentro del cuerpo de la función
(Ejemplo 4), por ejemplo:
Ejemplo 4:
def adding(x):
var = 7
return x + var
print(adding(4)) # salida: 11
print(var) # NameError
3. Se puede emplear la palabra clave reservada global seguida por el nombre de una variable para que
el alcance de la variable sea global, por ejemplo:
var = 2
print(var) # salida: 2
def return_var():
global var
var = 5
return var
print(return_var()) # salida: 5
print(var) # salida: 5
Ejercicio 1
print(alt)
Revisar
Ejercicio 2
a = 1
def fun():
a = 2
print(a)
fun()
print(a)
Revisar
Ejercicio 3
a = 1
def fun():
global a
a = 2
print(a)
fun()
a = 3
print(a)
Revisar
Ejercicio 4
a = 1
def fun():
global a
a = 2
print(a)
a = 3
fun()
print(a)
Revisar
Puntos Clave
1. Una función puede invocar otras funciones o incluso a sí misma. Cuando una función se invoca a si
misma, se le conoce como recursividad, y la función que se invoca a si misma y contiene una condición
de terminación (la cual le dice a la función que ya no siga invocándose a si misma) es llamada una
función recursiva.
2. Se pueden emplear funciones recursivas en Python para crear funciones limpias, elegantes, y dividir
el código en trozos más pequeños. Sin embargo, se debe tener mucho cuidado ya que es muy fácil
cometer un error y crear una función la cual nunca termine. También se debe considerar que las
funciones recursivas consumen mucha memoria, y por lo tanto pueden ser en ocasiones ineficientes.
Al emplear la recursividad, se deben de tomar en cuenta tanto sus ventajas como desventajas.
def factorial(n):
return 1
else:
return n * factorial(n - 1)
print(factorial(4)) # 4 * 3 * 2 * 1 = 24
Ejercicio 1
def factorial(n):
return n * factorial(n - 1)
print(factorial(4))
Revisar
La función no tiene una condición de terminación, por lo tanto Python arrojara una excepción
( RecursionError: maximum recursion depth exceeded )
Ejercicio 2
def fun(a):
if a > 30:
return 3
else:
return a + fun(a + 3)
print(fun(25))
Revisar
56
1. Las Tuplas son colecciones de datos ordenadas e inmutables. Se puede pensar en ellas como listas
inmutables. Se definen con paréntesis:
my_tuple = (1, 2, True, "una cadena", (3, 4), [5, 6], None)
print(my_tuple)
my_list = [1, 2, True, "una cadena", (3, 4), [5, 6], None]
print(my_list)
Cada elemento de la tupla puede ser de un tipo de dato diferente (por ejemplo, enteros, cadenas,
boleanos, etc.). Las tuplas pueden contener otras tuplas o listas (y viceversa).
empty_tuple = ()
print(type(empty_tuple)) # salida: <class 'tuple'>
my_tuple_1 = 1,
print(type(my_tuple_1)) # salida: <class 'tuple'>
5. Las tuplas son immutable, lo que significa que no se puede agregar, modificar, cambiar o quitar
elementos. El siguiente fragmento de código provocará una excepción:
my_tuple = 1, 2, 3,
del my_tuple
print(my_tuple) # NameError: name 'my_tuple' is not defined
6. Puedes iterar a través de los elementos de una tupla con un bucle (Ejemplo 1), verificar si un elemento
o no esta presente en la tupla (Ejemplo 2), emplear la función len() para verificar cuantos elementos
existen en la tupla (Ejemplo 3), o incluso unir o multiplicar tuplas (Ejemplo 4):
# Ejemplo 1
tuple_1 = (1, 2, 3)
for elem in tuple_1:
print(elem)
# Ejemplo 2
tuple_2 = (1, 2, 3, 4)
print(5 in tuple_2)
print(5 not in tuple_2)
# Ejemplo 3
tuple_3 = (1, 2, 3, 5)
print(len(tuple_3))
# Ejemplo 4
tuple_4 = tuple_1 + tuple_2
tuple_5 = tuple_3 * 2
print(tuple_4)
print(tuple_5)
EXTRA
También se puede crear una tupla utilizando la función integrada de Python tuple() . Esto es
particularmente útil cuando se desea convertir un iterable (por ejemplo, una lista, rango, cadena,
etcétera) en una tupla:
my_list = [2, 4, 6]
print(my_list) # salida: [2, 4, 6]
print(type(my_list)) # salida: <class 'list'>
tup = tuple(my_list)
print(tup) # salida: (2, 4, 6)
print(type(tup)) # salida: <class 'tuple'>
De la misma manera, cuando se desea convertir un iterable en una lista, se puede emplear la función
integrada de Python denominada list() :
tup = 1, 2, 3,
my_list = list(tup)
print(type(my_list)) # salida: <class 'list'>
1. Los diccionarios son *colecciones indexadas de datos, mutables y desordenadas. (*En Python 3.6x los
diccionarios están ordenados de manera predeterminada.
Cada diccionario es un par de clave : valor. Se puede crear empleado la siguiente sintaxis:
my_dictionary = {
key1: value1,
key2: value2,
key3: value3,
}
2. Si se desea acceder a un elemento del diccionario, se puede hacer haciendo referencia a su clave
colocándola dentro de corchetes (Ejemplo 1) o utilizando el método get() (Ejemplo 2):
pol_esp_dictionary = {
"kwiat": "flor",
"woda": "agua",
"gleba": "tierra"
}
pol_esp_dictionary = {
"zamek" : "castillo",
"woda" : "agua",
"gleba" : "tierra"
}
pol_esp_dictionary["zamek"] = "cerradura"
item = pol_esp_dictionary["zamek"]
print(item) # salida: cerradura
4. Para agregar o eliminar una clave (junto con su valor asociado), emplea la siguiente sintaxis:
del phonebook["Adán"]
print(phonebook) # salida: {}
pol_esp_dictionary.update({"gleba": "tierra"})
print(pol_esp_dictionary) # salida: {'kwiat': 'flor', 'gleba':
'tierra'}
pol_esp_dictionary.popitem()
print(pol_esp_dictionary) # salida: {'kwiat': 'flor'}
5. Se puede emplear el bucle for para iterar a través del diccionario, por ejemplo:
pol_esp_dictionary = {
"zamek": "castillo",
"woda": "agua",
"gleba": "tierra"
}
# salida: zamek
# woda
# gleba
6. Si deseas examinar los elementos (claves y valores) del diccionario, puedes emplear el
método items() , por ejemplo:
pol_esp_dictionary = {
"zamek" : "castillo",
"woda" : "agua",
"gleba" : "tierra"
}
7. Para comprobar si una clave existe en un diccionario, se puede emplear la palabra clave reservada in :
pol_esp_dictionary = {
"zamek" : "castillo",
"woda" : "agua",
"gleba" : "tierra"
}
if "zamek" in pol_esp_dictionary:
print("Si")
else:
print("No")
8. Se puede emplear la palabra reservada del para eliminar un elemento, o un diccionario entero. Para
eliminar todos los elementos de un diccionario se debe emplear el método clear() :
pol_esp_dictionary = {
"zamek" : "castillo",
"woda" : "agua",
"gleba" : "tierra"
}
print(len(pol_esp_dictionary)) # salida: 3
del pol_esp_dictionary["zamek"] # eliminar un elemento
print(len(pol_esp_dictionary)) # salida: 2
pol_esp_dictionary = {
"zamek" : "castillo",
"woda" : "agua",
"gleba" : "tierra"
}
copy_dictionary = pol_esp_dictionary.copy()
Ejercicio 1
my_tup = (1, 2, 3)
print(my_tup[2])
Revisar
El programa imprimirá 3 en pantalla.
Ejercicio 2
tup = 1, 2, 3
a, b, c = tup
print(a * b * c)
Revisar
El programa imprimirá 6 en pantalla. Los elementos de la tupla tup han sido "desempaquetados" en
las variables a , b , y c .
Ejercicio 3
Completa el código para emplear correctamente el método count() para encontrar la cantidad
de 2 duplicados en la tupla siguiente.
tup = 1, 2, 3, 2, 4, 5, 6, 2, 7, 2, 8, 9
duplicates = # Escribe tu código aquí.
print(duplicates) # salida: 4
Revisar
tup = 1, 2, 3, 2, 4, 5, 6, 2, 7, 2, 8, 9
duplicates = tup.count(2)
print(duplicates) # salida: 4
Ejercicio 4
Escribe un programa que "una" los dos diccionarios ( d1 y d2 ) para crear uno nuevo ( d3 ).
print(d3)
Revisar
Solución muestra:
d1 = {'Adam Smith': 'A', 'Judy Paxton': 'B+'}
d3 = {}
d3.update(item)
print(d3)
Ejercicio 5
Solución muestra:
my_list = ["car", "Ford", "flower", "Tulip"]
t = tuple(my_list)
print(t)
Ejercicio 6
print(colors_dictionary)
Revisar
Solución muestra:
colors = (("green", "#008000"), ("blue", "#0000FF"))
colors_dictionary = dict(colors)
print(colors_dictionary)
Ejercicio 7
print(copy_my_dictionary)
Revisar
Ejercicio 8
colors = {
"blanco": (255, 255, 255),
"gris": (128, 128, 128),
"rojo": (255, 0, 0),
"verde": (0, 128, 0)
}
Revisar
red : (255, 0, 0)
print("Hola, ¡Mundo!)
^
SyntaxError: EOL while scanning string literal
salida
Presta atención a la flecha: indica el lugar donde el analizador de Python ha tenido problemas.
En este caso, la doble comilla es la que falta. ¿Lo notaste?
print(1/0)
salida
Presta atención a la última línea del mensaje de error; en realidad, te dice lo que sucedió.
Existen muchos diferentes tipos de excepciones,
como ZeroDivisionError, NameError, TypeError, y muchas mas; y esta parte del mensaje te
informa qué tipo de excepción se ha generado. Las líneas anteriores muestran el contexto en el
que ha ocurrido la excepción.
2. Puedes "capturar" y manejar excepciones en Python usando el bloque try-except. Por lo tanto, si tienes
la sospecha de que cualquier fragmento de código en particular puede generar una excepción, puedes
escribir el código que la manejará con elegancia y no interrumpirá el programa. Observa el ejemplo:
while True:
try:
number = int(input("Ingresa un número entero: "))
print(number/2)
break
except:
print("Advertencia: el valor ingresado no es un número
válido. Intenta de nuevo...")
El código anterior le pide al usuario que ingrese un valor hasta que el valor ingresado sea un número
entero válido. Si el usuario ingresa un valor que no se puede convertir a un int, el programa imprimirá en
la consola Advertencia: el valor ingresado no es un número válido. Intenta
de nuevo... , y pide al usuario que ingrese un número nuevamente. Veamos que sucede en dicho
caso.
3. Puedes manejar múltiples excepciones en tu bloque de código. Analiza los siguientes ejemplos:
while True:
try:
number = int(input("Ingresa un número entero: "))
print(5/number)
break
except ValueError:
print("Valor incorrecto.")
except ZeroDivisionError:
print("Lo siento. No puedo dividir entre cero.")
except:
print("No se que hacer...")
También puedes especificar y manejar múltiples excepciones integradas dentro de un solo bloque except:
while True:
try:
number = int(input("Ingresa un número entero: "))
print(5/number)
break
except (ValueError, ZeroDivisionError):
print("Valor incorrecto o se ha roto la regla de división
entre cero.")
except:
print("Lo siento, algo salió mal...")
Para obtener más información sobre las excepciones integradas de Python, consulta la documentación
oficial de Python aquí.
5. Por último, pero no menos importante, debes recordar cómo probar y depurar tu código. Utiliza
técnicas de depuración como depuración de impresión; si es posible, pide a alguien que lea tu código y te
ayude a encontrar errores o mejorarlo; intenta aislar el fragmento de código que es problemático y
susceptible a errores, prueba tus funciones aplicando valores de argumento predecibles, y trata
de manejar las situaciones en las que alguien ingresa valores incorrectos; comenta las partes del código
que ocultan el problema. Finalmente, toma descansos y vuelve a tu código después de un tiempo con un
par de ojos nuevos.
Ejercicio
try:
value = int(input("Ingresa un número entero: "))
print(value/value)
except ValueError:
print("Entrada incorrecta...")
except ZeroDivisionError:
print("Entrada errónea...")
except:
print("¡Buuuu!")
Revisar