ATAJOS
Contenido
Comments - Comentarios 6
Operaciones aritméticas 7
Operador más-igual += 8
VARIABLES 9
MODULE - Operador modulo % 10
INT - Numeros Enteros 11
FLOAT- Números de punto flotante 11
STRING - Cadena de caracteres 12
Concatenación de cadenas 12
Errores 13
ZeroDivisionError - Error de división cero 13
Syntax Error - Error de sintaxis 13
NameError - Error de nombre 15
Función print() 16
Condicionales 17
Declaración elif 17
Operador or 18
Operador igual== 19
Operador no igual!= 20
Operadores de comparación 21
Declaración if 22
Declaración else 23
Operador and 24
Valores booleanos 24
Operador not 26
Listas 27
Lista - anidado de listas 28
Lista - tipos de datos 29
Lista - método .append() 30
Lista - zero-indexing 30
Lista - Índices de lista 31
Lista - Índices de lista negativa 32
Lista - Modificación de listas 2D 33
Lista - acceso a listas 2D 33
Lista - método .remove() 34
Lista - Método .count() 34
Lista - funcion len() 35
Lista - Mé[Link]() 35
Listas - Segmentación de listas 36
Lista - Función sorted() 37
Lista - método .insert() 37
Lista - Mé[Link]() 38
BUCLES 39
break - palabra clave 39
bucles - Listas por comprensión 40
For - bucle 41
continue - palabra clave 42
range - función integrada. 43
Bucle infinito 44
while - bucle 45
Bucles anidados 46
Funciones: 47
Parámetros de función 47
Parámetros Múltiples 48
definición de Funciones 49
Sangría de funciones 50
Funciones de llamada 51
Argumentos de funciones 52
Argumentos de palabra clave de función 53
Devolver valores múltiples 54
El alcance de las variables 55
Valor devuelto de la función 56
Variables globales 57
Parámetros como variables locales 58
Cadena de caracteres (Strings) 59
Cadenas de caracteres 59
Caracteres de escape 59
la sintaxis: in 59
Indexación y corte de cadenas 60
Iterar una cadena 60
Función incorporada: len() 61
Concatenación de cadenas 61
Cadenas inmutables 62
IndexError 62
Método: .format() 62
Método: .lower() 63
Método: .strip() 63
Método: .title() 64
Método: .split() 64
Método: .find() 64
Método: .replace() 65
Método: .upper() 65
Método: .join() 65
Módulos: 66
Fecha y hora en Python 66
Alias con la palabra clave 'as' 67
Importar módulos de Python 67
[Link]()y [Link]() 68
Importación de módulos 68
Diccionarios (Dictionaries): 69
Acceso y escritura de datos en un diccionario de Python 69
Sintaxis del diccionario Python 70
Fusionando diccionarios con el método .update() en Python 71
Tipos de valores de diccionario 72
Diccionarios de Python 73
Métodos de valor-clave del diccionario 74
método get() para el diccionario 75
El método .pop() para diccionarios en Python 76
Archivos 77
Objeto de archivo Python 77
Método de línea de lectura de Python 78
Análisis de archivos JSON al diccionario 79
Python anexar al archivo 80
Python escribir en archivo 81
Método de líneas de lectura de Python 82
Clase [Link] 83
Método de lectura de Python 84
Comments - Comentarios
Un comentario es un fragmento de texto dentro de un programa que no se
ejecuta. Se puede utilizar para proporcionar información adicional que ayude
a comprender el código.
El carácter # Se utiliza para iniciar un comentario y continúa hasta el final de la
línea.
# Comment on a single line
user = "JDoe" # Comment after code
Operaciones aritméticas
Python admite diferentes tipos de operaciones aritméticas que se pueden
realizar con números (literalmente), variables o alguna combinación. Los
principales operadores aritméticos son:
● + para la adición
● - para la resta
● * para la multiplicación
● / para división
● % para módulo (devuelve el resto de una división)
● ** para potenciación
# Arithmetic operations
result = 10 + 30
result = 40 - 10
result = 50 * 5
result = 16 / 4
result = 25 % 2
result = 5 ** 3
Operador más-igual +=
El operador más-igual += proporciona una forma conveniente de agregar un
valor a una variable existente y asignar el nuevo valor a la misma variable. En
el caso de que la variable y el valor sean cadenas, este operador realiza la
concatenación de cadenas en lugar de la suma.
La operación se realiza en el lugar, lo que significa que cualquier otra variable
que apunte a la variable que se está actualizando también se actualizará.
# Plus-Equal Operator
counter = 0
counter += 10
# This is equivalent to
counter = 0
counter = counter + 10
# The operator will also perform string concatenation
message = "Part 1 of message "
message += "Part 2 of message"
VARIABLES
Una variable se utiliza para almacenar datos que serán utilizados por el
programa. Estos datos pueden ser un número, una cadena, un booleano, una
lista o algún otro tipo de datos. Cada variable tiene un nombre que puede
consistir en letras, números y el carácter de subrayado _.
El signo igual = se utiliza para asignar un valor a una variable. Después de
realizar la asignación inicial, el valor de una variable se puede actualizar a
nuevos valores según sea necesario.
# These are all valid variable names and assignment
user_name = "@sonnynomnom"
user_id = 100
verified = False
# A variable's value can be changed after assignment
points = 100
points = 120
MODULE - Operador modulo %
Un cálculo de módulo devuelve el resto de una división entre el primer y el
segundo número. Por ejemplo:
● El resultado de la expresión 4 % 2 daría como resultado el valor 0,
porque 4 es divisible por 2 sin dejar resto.
● El resultado de la expresión 7 % 3 devolvería 1, porque 7 no es divisible
por 3, dejando un resto de 1.
# Modulo operations
zero = 8 % 4
nonzero = 12 % 5
INT - Numeros Enteros
Un número entero es un número que se puede escribir sin una parte
fraccionaria (sin decimal). Un número entero puede ser un número positivo,
un número negativo o el número 0 siempre que no tenga una parte decimal.
El número 0 representa un valor entero, pero el mismo número
escrito 0.0representaría un número de coma flotante.
# Example integer numbers
chairs = 4
tables = 1
broken_chairs = -2
sofas = 0
# Non-integer numbers
lights = 2.5
left_overs = 0.0
FLOAT- Números de punto flotante
A las variables de Python se les pueden asignar diferentes tipos de datos. Un
tipo de dato admitido es el número de coma flotante. Un número de coma
flotante es un valor que contiene una parte decimal. Se puede usar para
representar números que tienen cantidades fraccionarias. Por ejemplo, a =
3/5 no se puede representar como un número entero, por lo que a la
variable a se le asigna un valor de coma flotante de 0.6.
# Floating point numbers
pi = 3.14159
meal_cost = 12.99
tip_percent = 0.20
STRING - Cadena de caracteres
Una cadena es una secuencia de caracteres (letras, números, espacios en
blanco o puntuación) entre comillas. Se puede encerrar usando las comillas
dobles "o las comillas simples '.
Si una cadena debe dividirse en varias líneas, \ se puede usar el carácter de
barra invertida para indicar que la cadena continúa en la siguiente línea.
user = "User Full Name"
game = 'Monopoly'
longer = "This string is broken up \
over multiple lines"
Concatenación de cadenas
Python admite la unión (concatenación) de cadenas mediante el +
operador. El operador + también se usa para operaciones de suma
matemática. Si los parámetros pasados al operador + son cadenas, se
realizará la concatenación. Si el parámetro pasado al operador + tiene
diferentes tipos, Python informará una condición de error. Se pueden unir
múltiples variables o cadenas literales usando el + operador.
# String concatenation
first = "Hello "
second = "World"
result = first + second
long_result = first + second + "!"
Errores
El intérprete de Python informará los errores presentes en su código. Para la
mayoría de los casos de error, el intérprete mostrará la línea de código donde
se detectó el error y colocará un carácter de intercalación ^debajo de la parte
del código donde se detectó el error.
if False ISNOTEQUAL True:
^
SyntaxError: invalid syntax
ZeroDivisionError - Error de división cero
El intérprete de Python notifica un: ZeroDivisionError cuando detecta que se
está realizando una operación de división y el denominador (número inferior)
es 0. En matemáticas, dividir un número por cero no tiene un valor definido,
por lo que Python lo trata como una condición de error y informe un
ZeroDivisionError y muestre la línea de código donde ocurrió la división. Esto
también puede suceder si se usa una variable como denominador y su valor
se ha establecido o cambiado a 0.
numerator = 100
denominator = 0
bad_results = numerator / denominator
ZeroDivisionError: division by zero
Syntax Error - Error de sintaxis
El intérprete de Python informa de un SyntaxError cuando alguna parte del
código es incorrecta. Esto puede incluir palabras clave mal escritas,
corchetes o paréntesis faltantes o demasiados, operadores incorrectos,
comillas faltantes o demasiados u otras condiciones.
age = 7 + 5 = 4
File "<stdin>", line 1
SyntaxError: can't assign to operator
NameError - Error de nombre
El intérprete de Python informa de un NameError cuando detecta una
variable desconocida. Esto puede ocurrir cuando se usa una variable antes de
que se le haya asignado un valor o si el nombre de una variable se escribe de
forma diferente al punto en el que se definió. El intérprete de Python
mostrará la línea de código donde se detectó el NameError e indicará qué
nombre encontró que no estaba definido.
misspelled_variable_name
NameError: name 'misspelled_variable_name' is not defined
Función print()
La función print() se utiliza para enviar texto, números u otra información
imprimible a la consola.
Toma uno o más argumentos y enviará cada uno de ellos a la consola
separados por un espacio. Si no se proporcionan argumentos, la
función print() generará una línea en blanco.
Ejemplo:
Condicionales
Declaración elif
La declaración de Python elif permite realizar comprobaciones continuas
después de una declaración if inicial. Una declaración elif difiere de la
declaración else porque se proporciona otra expresión para verificar, al
igual que con la declaración if inicial.
Si la expresión es True se ejecuta el código sangrado/indentado que sigue a
elif. Si la expresión se evalúa como False, el código puede continuar con
una instrucción else opcional. Se pueden usar varias declaraciones elif
después de la primer if, para realizar una serie de comprobaciones. Una
vez que una expresión elif se evalúa como True, no se ejecutan más
declaraciones elif.
# elif Statement
pet_type = "fish"
if pet_type == "dog":
print("You have a dog.")
elif pet_type == "cat":
print("You have a cat.")
elif pet_type == "fish":
# this is performed
print("You have a fish")
else:
print("Not sure!")
Operador or
El operador de Python or combina dos expresiones booleanas y
evalúa True si al menos una de las expresiones devuelve True. De lo
contrario, si ambas expresiones son False, la expresión completa se evalúa
como False.
True or True # Evaluates to True
True or False # Evaluates to True
False or False # Evaluates to False
1 < 2 or 3 < 1 # Evaluates to True
3 < 1 or 1 > 6 # Evaluates to False
1 == 1 or 1 < 2 # Evaluates to True
Operador igual==
El operador igual ==, se usa para comparar dos valores, variables o
expresiones para determinar si son iguales.
Si los valores que se comparan son iguales, el operador devuelve True, de lo
contrario, devuelve False.
El operador tiene en cuenta el tipo de datos al realizar la comparación, por lo
que un valor de cadena de no"2" se considera igual que un valor numérico
de .2
# Equal operator
if 'Yes' == 'Yes':
# evaluates to True
print('They are equal')
if (2 > 1) == (5 < 10):
# evaluates to True
print('Both expressions give the same result')
c = '2'
d = 2
if c == d:
print('They are equal')
else:
print('They are not equal')
Operador no igual!=
El operador Python no es igual !=, se usa para comparar dos valores,
variables o expresiones para determinar si NO son iguales. Si NO son iguales,
el operador devuelve True. Si son iguales, entonces devuelve False.
El operador tiene en cuenta el tipo de dato al realizar la comparación, por lo
que un valor de 10 NO sería igual al valor de la cadena "10" y el operador
devolverá True. Si se utilizan expresiones, se evalúan a un valor de True
o False antes de que el operador realice la comparación.
# Not Equals Operator
if "Yes" != "No":
# evaluates to True
print("They are NOT equal")
val1 = 10
val2 = 20
if val1 != val2:
print("They are NOT equal")
if (10 > 1) != (10 > 1000):
# True != False
print("They are NOT equal")
Operadores de comparación
En Python, los operadores relacionales comparan dos valores o
expresiones. Los más comunes son:
● < menos que
● > más grande que
● <= Menos que o igual a
● >= mayor o igual también
Si la relación es correcta, la expresión completa se evaluará como True. Si
no, la expresión se evalúa como False.
a = 2
b = 3
a < b # evaluates to True
a > b # evaluates to False
a >= b # evaluates to False
a <= b # evaluates to True
a <= a # evaluates to True
Declaración if
La declaración de Python se if utiliza para determinar la ejecución del código
en función de la evaluación de una expresión booleana.
● Si la expresión if de la instrucción se evalúa como True, se ejecuta el
código sangrado que sigue a la instrucción.
● Si la expresión se evalúa como entonces False, el código
sangrado/indentado que sigue a la declaración if se omite y el
programa ejecuta la siguiente línea de código que está
sangrada/indentada al mismo nivel que la declaración if.
# if Statement
test_value = 100
if test_value > 1:
# Expression evaluates to True
print("This code is executed!")
if test_value > 1000:
# Expression evaluates to False
print("This code is NOT executed!")
print("Program continues at this point.")
Declaración else
La declaración de Python else proporciona un código alternativo para
ejecutar si la expresión en una declaración if se evalúa como False.
El código sangrado para la instrucción if se ejecuta si la expresión se evalúa
como True. El código sangrado que sigue inmediatamente a else se ejecuta
solo si la expresión se evalúa como False. Para marcar el final del
bloque else, el código debe estar sin sangría al mismo nivel que la línea
inicial if.
# else Statement
test_value = 50
if test_value < 1:
print("Value is < 1")
else:
print("Value is >= 1")
test_string = "VALID"
if test_string == "NOT_VALID":
print("String equals NOT_VALID")
else:
print("String equals something else!")
Operador and
El operador de Python and realiza una comparación booleana entre dos
valores, variables o expresiones booleanos. Si ambos lados del operador
evalúan a True entonces el and operador regresa True. Si cualquiera de los
lados (o ambos lados) se evalúa como False, entonces el and operador
devuelve False. Un valor no booleano (o una variable que almacena un
valor) siempre se evaluará True cuando se use con el and operador.
True and True # Evaluates to True
True and False # Evaluates to False
False and False # Evaluates to False
1 == 1 and 1 < 2 # Evaluates to True
1 < 2 and 3 < 1 # Evaluates to False
"Yes" and 100 # Evaluates to True
Valores booleanos
Los booleanos son un tipo de datos en Python, al igual que los enteros, los
flotantes y las cadenas. Sin embargo, los valores booleanos solo tienen dos
valores:
● True
● False
En concreto, estos dos valores son del bool tipo. Dado que los valores
booleanos son un tipo de datos, crear una variable que contenga un valor
booleano es lo mismo que con otros tipos de datos.
is_true = True
is_false = False
print(type(is_true))
# will output: <class 'bool'>
Operador not
El operador booleano de Python not se usa en una expresión booleana para
evaluar la expresión en su valor inverso. Si la expresión original fuera True,
agregar el operador not haría que la expresión fuera False, y viceversa.
not True # Evaluates to False
not False # Evaluates to True
1 > 2 # Evaluates to False
not 1 > 2 # Evaluates to True
1 == 1 # Evaluates to True
not 1 == 1 # Evaluates to False
Listas
En Python, las listas son colecciones ordenadas de elementos que permiten un
uso sencillo de un conjunto de datos.
Los valores de la lista se colocan entre corchetes [ ], separados por comas. Es
una buena práctica poner un espacio entre la coma y el siguiente valor. No es
necesario que los valores de una lista sean únicos (se puede repetir el mismo
valor).
Las listas vacías no contienen valores entre corchetes.
Lista - anidado de listas
En Python, las listas se pueden anidar entre sí usando el símbolo más +. Como
se muestra en el bloque de código, esto dará como resultado una nueva lista
que contiene los mismos elementos en el mismo orden con los elementos de la
primera lista en primer lugar.
Nota: Esto no funcionará para agregar un elemento a la vez ( el método
método que se usa en ese caso es .append()). Si se quiere agregar un único
valor a la lista primero se crea una nueva lista con un solo valor y luego se usa
el símbolo + para agregar la lista.
Lista - tipos de datos
En Python, las listas son un tipo de datos versátil que puede contener múltiples
tipos de datos diferentes dentro de los mismos corchetes. Los posibles tipos de
datos dentro de una lista incluyen números, cadenas, otros objetos e incluso
otras listas.
Lista - método .append()
En Python, puede agregar valores al final de una lista usando el método
.append(). Esto colocará el objeto pasado como un nuevo elemento al final de
la lista. Imprimir la lista después mostrará visualmente el valor adjunto. Este
método .append() no debe confundirse con devolver una lista completamente
nueva con el objeto pasado.
Lista - zero-indexing
En Python, el índice de la lista comienza en cero y termina en la longitud de la
lista menos uno. Por ejemplo, en esta lista, 'Andy' se encuentra en el índice 2.
Lista - Índices de lista
Los elementos de la lista de Python están ordenados por índice , un número
que se refiere a su ubicación en la lista. Los índices de lista comienzan en 0 y se
incrementan en uno.
Para acceder a un elemento de lista por índice, se utiliza la notación de
corchetes: list[index].
Lista - Índices de lista negativa
Los índices negativos para listas en Python se pueden usar para hacer
referencia a elementos en relación con el final de una lista. Esto se puede usar
para acceder a elementos de una sola lista o como parte de la definición de un
rango de lista. Por ejemplo:
● Para seleccionar el último elemento, my_list[-1].
● Para seleccionar los últimos tres elementos, my_list[-3:].
● Para seleccionar todo excepto los dos últimos elementos, my_list[:-2].
Lista - Modificación de listas 2D
Para modificar elementos en una lista 2D (comúnmente denominada matriz),
se debe proporcionar un índice para la sublista y el índice para el elemento de
la sublista. El formato para esto es list[sublist_index][element_in_sublist_index]
= new_value.
Lista - acceso a listas 2D
Para acceder a los elementos de una lista 2D, es necesario proporcionar un
índice para la sublista y el índice para el elemento de la sublista. El formato
para esto es list[sublist_index][element_in_sublist_index].
Lista - método .remove()
El método .remove() en Python se usa para eliminar un elemento de una lista
pasando el valor del elemento que se eliminará como argumento. En el caso de
que dos o más elementos de la lista tengan el mismo valor, se elimina la
primera aparición del elemento.
Lista - Método .count()
El método .count() de Python busca en una lista cualquier término de
búsqueda que reciba como argumento y luego devuelve el número de entradas
coincidentes encontradas.
Lista - funcion len()
La función de Python len() se puede usar para determinar la cantidad de
elementos que se encuentran en la lista que se acepta como argumento.
Lista - Mé[Link]()
El método .sort() de Python ordenará el contenido de cualquier lista a la que se
llame. Las listas numéricas se clasifican en orden ascendente y las listas de
cadenas se clasifican en orden alfabético. Luego de modificar la lista original
este método no retorna ningún valor.
Listas - Segmentación de listas
Se puede seleccionar una porción o una sublista de elementos listados en una
lista de Python usando los índices de inicio y final de la posición de lista que
interesa y estos índices separados por dos puntos en vez de una coma.
El patrón de sintaxis es myList[START_NUMBER:END_NUMBER]. El segmento
incluirá el START_NUMBER índice, y todo hasta excluir el END_NUMBER
elemento.
Al dividir una lista, se devuelve una nueva lista, por lo que si la división se
guarda y luego se modifica, la lista original sigue siendo la misma.
Lista - Función sorted()
La función de Python sorted() acepta una lista como argumento y devolverá
una nueva lista ordenada que contiene los mismos elementos que la original.
Las listas numéricas se clasifican en orden ascendente y las listas de cadenas se
clasifican en orden alfabético. No modifica la lista original sin ordenar.
Lista - método .insert()
El método .insert() nos permite agregar un elemento a un índice específico en
una lista.
Toma dos entradas:
● El índice en el que desea insertar.
● El elemento que desea insertar en el índice especificado.
Lista - Mé[Link]()
El método .pop() nos permite eliminar un elemento de una lista y al mismo
tiempo devolverlo. Acepta una entrada opcional que es el índice del elemento
a eliminar. Si no se proporciona un índice, se eliminará y devolverá el último
elemento de la lista.
BUCLES
break - palabra clave
En un bucle, la palabra clave break escapa del bucle, independientemente
del número de iteración. Una vez que break se ejecuta, el programa
continuará ejecutándose después del ciclo.
En este ejemplo, la salida sería:
● 0
● 254
● 2
● Negative number detected!
numbers = [0, 254, 2, -1, 3]
for num in numbers:
if (num < 0):
print("Negative number detected!")
break
print(num)
# 0
# 254
# 2
# Negative number detected!
bucles - Listas por comprensión
Las listas por comprensión de Python proporcionan una forma concisa de
crear listas. Consiste en corchetes que contienen una expresión seguida de
una cláusula for, luego cero o más cláusulas for o if: [EXPRESSION for ITEM
in LIST <if CONDITIONAL>].
Las expresiones pueden ser cualquier cosa: cualquier tipo de objeto puede
entrar en una lista.
Una lista por comprensión siempre devuelve una lista.
# List comprehension for the squares of all even numbers between 0 and 9
result = [x**2 for x in range(10) if x % 2 == 0]
print(result)
# [0, 4, 16, 36, 64]
For - bucle
Se puede usar un bucle for de Python para iterar sobre una lista de
elementos y realizar un conjunto de acciones en cada elemento. La sintaxis
de un bucle for consiste en asignar un valor temporal a una variable en
cada iteración sucesiva.
Al escribir un bucle for, recuerde sangrar(indentar) correctamente cada
acción, de lo contrario, se producirá un error IndentationError.
for <temporary variable> in <list variable>:
<action statement>
<action statement>
#each num in nums will be printed below
nums = [1,2,3,4,5]
for num in nums:
print(num)
continue - palabra clave
En Python, la palabra clave continue se usa dentro de un ciclo para omitir el
código restante dentro del bloque de código del ciclo y comenzar la
siguiente iteración del ciclo.
big_number_list = [1, 2, -1, 4, -5, 5, 2, -9]
# Print only positive numbers:
for i in big_number_list:
if i < 0:
continue
print(i)
range - función integrada.
En Python, se puede usar un bucle for para realizar una acción un número
específico de veces seguidas.
La función range() se puede usar para crear una lista que se puede usar
para especificar el número de iteraciones en un bucle for.
# Print the numbers 0, 1, 2:
for i in range(3):
print(i)
# Print "WARNING" 3 times:
for i in range(3):
print("WARNING")
Bucle infinito
Un bucle infinito es un bucle que nunca termina. Los bucles infinitos se
producen cuando las condiciones del bucle impiden que termine. Esto
podría deberse a un error tipográfico en la declaración condicional dentro
del bucle o una lógica incorrecta. Para interrumpir un programa de Python
que se está ejecutando para siempre, presione las teclas Ctrl y C juntas en
su teclado.
while - bucle
En Python, un bucle while ejecutará repetidamente un bloque de código
siempre que una condición se evalúe como True.
La condición de un ciclo while siempre se verifica primero antes de que se
ejecute el bloque de código. Si la condición no se cumple inicialmente, el
bloque de código nunca se ejecutará.
# This loop will only run 1 time
hungry = True
while hungry:
print("Time to eat!")
hungry = False
# This loop will run 5 times
i = 1
while i < 6:
print(i)
i = i + 1
Bucles anidados
En Python, los bucles se pueden anidar dentro de otros bucles. Los bucles
anidados se pueden usar para acceder a elementos de listas que están dentro
de otras listas. El elemento seleccionado del ciclo externo se puede usar como
la lista para que el ciclo interno itere.
groups = [["Jobs", "Gates"], ["Newton", "Euclid"], ["Einstein",
"Feynman"]]
# This outer loop will iterate over each list in the groups list
for group in groups:
# This inner loop will go through each name in each list
for name in group:
print(name)
Funciones:
Parámetros de función
A veces, las funciones requieren una entrada para proporcionar datos para su
código. Esta entrada se define mediante parámetros .
Los parámetros son variables que se definen en la definición de la función. Se
les asignan los valores que se pasan como argumentos cuando se llama a la
función, en otra parte del código.
Por ejemplo, la definición de función define parámetros para un personaje, un
escenario y una habilidad, que se utilizan como entradas para escribir la
primera oración de un libro.
Parámetros Múltiples
Las funciones de Python pueden tener múltiples parámetros . Así como no irías
a la escuela sin una mochila y un estuche para lápices, las funciones también
pueden necesitar más de una entrada para llevar a cabo sus operaciones.
Para definir una función con varios parámetros, los nombres de los parámetros
se colocan uno tras otro, separados por comas, dentro de los paréntesis de la
definición de la función.
definición de Funciones
Algunas tareas deben realizarse varias veces dentro de un programa. En lugar
de reescribir el mismo código en varios lugares, se puede definir una función
usando la palabra clave def. Las definiciones de función pueden incluir
parámetros, proporcionando entrada de datos a la función.
Las funciones pueden devolver un valor usando la palabra clave return seguida
del valor a devolver
Sangría de funciones
Python usa sangría para identificar bloques de código. El código dentro del
mismo bloque debe estar sangrado al mismo nivel. Una función de Python es
un tipo de bloque de código. Todo el código bajo una declaración de función
debe tener sangría para identificarlo como parte de la función. Puede haber
una sangría adicional dentro de una función para manejar otras declaraciones,
como for y if siempre que las líneas no tengan una sangría menor que la
primera línea del código de la función.
Funciones de llamada
Python usa una sintaxis simple para usar, invocar o llamar a una función
preexistente. Se puede llamar a una función escribiendo el nombre de la
misma, seguido de paréntesis.
Por ejemplo, el código proporcionado llamaría al método doHomework().
Argumentos de funciones
Los parámetros en python son variables, marcadores de posición para los
valores reales que necesita la función. Cuando se llama a la función , estos
valores se pasan como argumentos .
Por ejemplo, los argumentos pasados a la función .sales() son "El mercado de
agricultores", "pasta de dientes" y "$1", que corresponden a los parámetros
grocery_store, item_on_saley cost
Argumentos de palabra clave de función
Las funciones de Python se pueden definir con argumentos con nombre
que pueden tener valores predeterminados proporcionados. Cuando los
argumentos de función se pasan utilizando sus nombres, se denominan
argumentos de palabra clave. El uso de argumentos de palabras clave al
llamar a una función permite que los argumentos se pasen en cualquier
orden, no solo en el orden en que fueron definidos en la función. Si la
función se invoca sin un valor para un argumento específico, se utilizará
el valor predeterminado.
Devolver valores múltiples
Las funciones de Python pueden devolver múltiples valores usando una
declaración return. Todos los valores que deben devolverse se enumeran
después de la palabra clave return y están separados por comas.
En el ejemplo, la función square_point() devuelve x_squared, y_squared y
z_squared.
El alcance de las variables
En Python, una variable definida dentro de una función se denomina variable
local. No se puede usar fuera del alcance de la función, e intentar hacerlo sin
definir la variable fuera de la función provocará un error.
En el ejemplo, la variable a se define tanto dentro como fuera de la función.
Cuando f1() se implementa la función, a se imprime como 2 porque está
definida localmente para que así sea. Sin embargo, cuando se imprime a fuera
de la función, a se imprime como 5 porque se implementa fuera del alcance de
la función.
Valor devuelto de la función
Una palabra clave return se usa para devolver un valor de una función de
Python. El valor devuelto por una función se puede asignar a una variable que
luego se puede usar en el programa.
En el ejemplo, la función devuelve una cadena check_leap_year, que indica si el
parámetro pasado es un año bisiesto o no.
Variables globales
Una variable que se define fuera de una función se denomina variable global.
Se puede acceder dentro del cuerpo de una función.
En el ejemplo, la variable a es una variable global porque se define fuera de la
función prints_a. Por lo tanto, es accesible a prints_a, que imprimirá el valor de
a.
Parámetros como variables locales
Los parámetros de función se comportan de manera idéntica a las variables
locales de una función. Se inicializan con los valores pasados a la función
cuando se llamó.
Al igual que las variables locales, no se puede hacer referencia a los parámetros
desde fuera del alcance de la función.
En el ejemplo, el parámetro value se define como parte de la definición de
my_function y, por lo tanto, solo se puede acceder a él dentro de my_function.
Intentar imprimir el contenido de value desde fuera de la función provoca un
error.
Cadena de caracteres (Strings)
Cadenas de caracteres
En informática, las secuencias de caracteres se conocen como cadenas . Las
cadenas pueden tener cualquier longitud y pueden incluir cualquier carácter,
como letras, números, símbolos y espacios en blanco (espacios, tabulaciones,
líneas nuevas).
Caracteres de escape
Las barras invertidas ( \) se utilizan para escapar de los caracteres en una
cadena de Python.
Por ejemplo, para imprimir una cadena con comillas, se puede usar el
fragmento de código proporcionado.
txt = "She said \"Never let go\"."
print(txt) # She said "Never let go".
la sintaxis: in
La sintaxis in se utiliza para determinar si existe una letra o una subcadena en
una cadena. Devuelve True si se encuentra una coincidencia, de lo contrario se
devuelve False.
game = "Popular Nintendo Game: Mario Kart"
print("l" in game) # Prints: True
print("x" in game) # Prints: False
Indexación y corte de cadenas
Las cadenas de Python se pueden indexar usando la misma notación que las
listas, ya que las cadenas son listas de caracteres. Se puede acceder a un solo
carácter con la notación de corchetes ( [index]), o se puede acceder a una
subcadena mediante el corte ( [start:end]).
La indexación con números negativos cuenta desde el final de la cadena.
str = 'yellow'
str[1] # => 'e'
str[-1] # => 'w'
str[4:6] # => 'ow'
str[:4] # => 'yell'
str[-3:] # => 'low'
Iterar una cadena
Para iterar a través de una cadena en Python, se usa la notación “for…in”.
str = "hello"
for c in str:
print(c)
# h
# e
# l
# l
# o
Función incorporada: len()
En Python, la len()función integrada se puede usar para determinar la longitud
de un objeto. Se puede utilizar para calcular la longitud de cadenas, listas,
conjuntos y otros objetos contables.
length = len("Hello")
print(length)
# Output: 5
colors = ['red', 'yellow', 'green']
print(len(colors))
# Output: 3
Concatenación de cadenas
Para combinar el contenido de dos cadenas en una sola cadena, Python
proporciona el operador +. Este proceso de unir cadenas se llama
concatenación.
x = 'One fish, '
y = 'two fish.'
z = x + y
print(z)
# Output: One fish, two fish.
Cadenas inmutables
Las cadenas son inmutables en Python. Esto significa que una vez que se ha
definido una cadena, no se puede cambiar.
No hay métodos de mutación para cadenas. Esto es diferente a los tipos de
datos como las listas, que se pueden modificar una vez que se crean.
IndexError
Al indexar una cadena en Python, si intenta acceder a un índice que no existe,
se genera un IndexError. Por ejemplo, el siguiente código crearía un IndexError:
fruit = "Berry"
indx = fruit[6]
Método: .format()
El método de cadena de Python .format() reemplaza los marcadores de
posición de llaves vacías ( {}) en la cadena con sus argumentos.
Si se especifican palabras clave dentro de los marcadores de posición, se
reemplazan con los argumentos con nombre correspondientes al método.
msg1 = 'Fred scored {} out of {} points.'
[Link](3, 10)
# => 'Fred scored 3 out of 10 points.'
msg2 = 'Fred {verb} a {adjective} {noun}.'
[Link](adjective='fluffy', verb='tickled', noun='hamster')
# => 'Fred tickled a fluffy hamster.'
Método: .lower()
El método de cadena .lower() devuelve una cadena con todos los caracteres en
mayúsculas convertidos a minúsculas.
greeting = "Welcome To Chili's"
print([Link]())
# Prints: welcome to chili's
Método: .strip()
El método de cadena .strip() se puede utilizar para eliminar caracteres del
principio y el final de una cadena.
Se puede pasar un argumento de cadena al método, especificando el conjunto
de caracteres que se eliminarán. Sin argumentos para el método, se eliminan
los espacios en blanco.
text1 = ' apples and oranges '
[Link]() # => 'apples and oranges'
text2 = '...+...lemons and limes...-...'
# Here we strip just the "." characters
[Link]('.') # => '+...lemons and limes...-'
# Here we strip both "." and "+" characters
[Link]('.+') # => 'lemons and limes...-'
# Here we strip ".", "+", and "-" characters
[Link]('.+-') # => 'lemons and limes'
Método: .title()
El método de cadena .title()devuelve la cadena en mayúsculas y minúsculas.
Con el caso del título, el primer carácter de cada palabra está en mayúscula,
mientras que el resto de los caracteres están en minúscula.
my_var = "dark knight"
print(my_var.title())
# Prints: Dark Knight
Método: .split()
El método de cadena .split() divide una cadena en una lista de elementos:
● Si no se pasa ningún argumento, el comportamiento predeterminado es
dividir en espacios en blanco.
● Si se pasa un argumento al método, este valor se usa como delimitador
en el que dividir la cadena.
text = "Silicon Valley"
print([Link]())
# Prints: ['Silicon', 'Valley']
print([Link]('i'))
# Prints: ['S', 'l', 'con Valley']
Método: .find()
El método de cadena de Python .find() devuelve el índice de la primera
aparición de la cadena pasada como argumento. Vuelve -1si no se encuentra
ninguna ocurrencia.
mountain_name = "Mount Kilimanjaro"
print(mountain_name.find("o")) # Prints 1 in the console.
Método: .replace()
El método .replace() se usa para reemplazar la ocurrencia del primer
argumento con el segundo argumento dentro de la cadena.
El primer argumento es la subcadena anterior que se reemplazará, y el segundo
argumento es la nueva subcadena que reemplazará cada aparición de la
primera dentro de la cadena.
fruit = "Strawberry"
print([Link]('r', 'R'))
# StRawbeRRy
Método: .upper()
El método de cadena .upper() devuelve la cadena con todos los caracteres en
minúscula convertidos a mayúsculas.
dinosaur = "T-Rex"
print([Link]())
# Prints: T-REX
Método: .join()
El método de cadena .join() concatena una lista de cadenas para crear una
nueva cadena unida con el delimitador deseado.
El método .join() se ejecuta en el delimitador y la matriz de cadenas que se
concatenan juntas se pasa como argumento.
x = "-".join(["Moegui", "is", "awesome"])
print(x)
# Prints: Moegui-is-awesome
Módulos:
Fecha y hora en Python
Python proporciona un módulo nombrado datetime para tratar con fechas y
horas.
Le permite configurar date, time o ambos date y time, también usar las
funciones respectivamente date() .time() datetime(), después de importar el
módulo datetime.
import datetime
feb_16_2019 = [Link](year=2019, month=2, day=16)
feb_16_2019 = [Link](2019, 2, 16)
print(feb_16_2019) #2019-02-16
time_13_48min_5sec = [Link](hour=13, minute=48, second=5)
time_13_48min_5sec = [Link](13, 48, 5)
print(time_13_48min_5sec) #13:48:05
timestamp= [Link](year=2019, month=2, day=16, hour=13,
minute=48, second=5)
timestamp = [Link](2019, 2, 16, 13, 48, 5)
print (timestamp) #2019-01-02 13:48:05
Alias con la palabra clave 'as'
En Python, la palabra clave as se puede usar para dar un nombre alternativo
como alias para un módulo o función de Python.
# Aliasing [Link] as plt
from matplotlib import pyplot as plt
[Link](x, y)
# Aliasing calendar as c
import calendar as c
print(c.month_name[1])
Importar módulos de Python
La declaración de importación de Python se puede usar para importar módulos
de Python desde otros archivos.
Los módulos se pueden importar de tres maneras diferentes: import module,
from module import functions ó from module import *. from module import
*se desaconseja, ya que puede conducir a un espacio de nombres local
desordenado y puede hacer que el espacio de nombres no sea claro.
# Three different ways to import modules:
# First way
import module
[Link]()
# Second way
from module import function
function()
# Third way
from module import *
function()
[Link]()y [Link]()
En Python, el módulo random ofrece métodos para simular un
comportamiento no determinista al seleccionar un número aleatorio de un
rango y elegir un elemento aleatorio de una lista.
El método randint() proporciona una selección aleatoria uniforme de un rango
de números enteros. El método choice() proporciona una selección uniforme
de un elemento aleatorio de una secuencia.
# Returns a random integer N in a given range, such that start <= N <= end
# [Link](start, end)
r1 = [Link](0, 10)
print(r1) # Random integer where 0 <= r1 <= 10
# Prints a random element from a sequence
seq = ["a", "b", "c", "d", "e"]
r2 = [Link](seq)
print(r2) # Random element in the sequence
Importación de módulos
En Python, puede importar y usar el contenido de otro archivo usando import
filename, siempre que esté en la misma carpeta que el archivo actual que está
escribiendo.
# file1 content
# def f1_function():
# return "Hello World"
# file2
import file1
# Now we can use f1_function, because we imported file1
f1_function()
Diccionarios (Dictionaries):
Acceso y escritura de datos en un diccionario de Python
Se puede acceder a los valores en un diccionario de Python colocando la clave
entre corchetes al lado del diccionario. Los valores se pueden escribir
colocando la clave entre corchetes al lado del diccionario y usando el operador
de asignación ( =). Si la clave ya existe, se sobrescribirá el valor anterior.
Intentar acceder a un valor con una clave que no existe provocará un archivo
KeyError.
Para ilustrar esta tarjeta de revisión, la segunda línea del bloque de código de
ejemplo muestra la forma de acceder al valor usando la tecla "song". La tercera
línea del bloque de código sobrescribe el valor que corresponde a la clave
"song".
my_dictionary = {"song": "Estranged", "artist":
"Guns N' Roses"}
print(my_dictionary["song"])
my_dictionary["song"] = "Paradise City"
Sintaxis del diccionario Python
La sintaxis de un diccionario de Python comienza con la llave izquierda ( {),
termina con la llave derecha ( }) y contiene cero o más elementos key : value
separados por comas ( ,). El key está separado del value por dos puntos ( :).
roaster = {"q1": "Ashley", "q2": "Dolly"}
Fusionando diccionarios con el método .update() en Python
Dados dos diccionarios que deben combinarse, Python lo hace fácil con la
función .update().
Para [Link](dict2), los pares clave-valor de dict2 se escribirán en el
diccionario dict1.
Para las teclas en dict1 y dict2, el valor en dict1 se sobrescribirá con el valor
correspondiente en dict2.
dict1 = {'color': 'blue', 'shape': 'circle'}
dict2 = {'color': 'red', 'number': 42}
[Link](dict2)
# dict1 is now {'color': 'red', 'shape': 'circle',
'number': 42}
Tipos de valores de diccionario
Python permite que los valores en un diccionario sean de cualquier tipo:
cadena, entero, una lista, otro diccionario, booleano, etc. Sin embargo, las
claves siempre deben ser un tipo de datos inmutable, como cadenas, números
o tuplas.
En el bloque de código de ejemplo, puede ver que las claves son cadenas o
números (int o float). Los valores, por otro lado, son muchos tipos de datos
variados.
dictionary = {
1: 'hello',
'two': True,
'3': [1, 2, 3],
'Four': {'fun': 'addition'},
5.0: 5.5
}
Diccionarios de Python
Un diccionario de Python es una colección desordenada de elementos.
Contiene datos como un conjunto de valores tipo claves: pares.
my_dictionary = {1: "L.A. Lakers", 2: "Houston
Rockets"}
Métodos de valor-clave del diccionario
Al intentar ver la información en un diccionario de Python, existen varios
métodos que devuelven objetos que contienen las claves y los valores del
diccionario.
● .keys() devuelve las claves a través de un objeto dict_keys.
● .values() devuelve los valores a través de un objeto dict_values.
● .items() devuelve tanto las claves como los valores a través de un objeto
dict_items.
ex_dict = {"a": "anteater", "b": "bumblebee", "c":
"cheetah"}
ex_dict.keys()
# dict_keys(["a","b","c"])
ex_dict.values()
# dict_values(["anteater", "bumblebee", "cheetah"])
ex_dict.items()
#
dict_items([("a","anteater"),("b","bumblebee"),("c",
"cheetah")])
método get() para el diccionario
Python proporciona un método .get() para acceder a un valor dictionary si
existe. Este método toma key como primer argumento y un valor
predeterminado opcional como segundo argumento, y devuelve el valor para el
key especificado si key está en el diccionario. Si el segundo argumento no se
especifica y key no se encuentra, se devuelve None.
# without default
{"name": "Victor"}.get("name")
# returns "Victor"
{"name": "Victor"}.get("nickname")
# returns None
# with default
{"name": "Victor"}.get("nickname", "nickname is not
a key")
# returns "nickname is not a key"
El método .pop() para diccionarios en Python
Los diccionarios de Python pueden eliminar pares clave-valor con el método
.pop(). El método toma una clave como argumento y la elimina del diccionario.
Al mismo tiempo, también devuelve el valor que elimina del diccionario.
famous_museums = {'Washington': 'Smithsonian
Institution', 'Paris': 'Le Louvre', 'Athens': 'The
Acropolis Museum'}
famous_museums.pop('Athens')
print(famous_museums) # {'Washington': 'Smithsonian
Institution', 'Paris': 'Le Louvre'}
Archivos
Objeto de archivo Python
Se crea un objeto de archivo de Python cuando se abre un archivo con la
función open(). Puede asociar este objeto de archivo con una variable cuando
abre un archivo usando las palabras clave with y as. Por ejemplo:
with open('[Link]') as file_object:
A continuación, puede imprimir el contenido del objeto de archivo, file_object
con print().
print(file_object)
Es posible que vea algo como esto en el terminal de salida:
<_io.TextIOWrapper name='[Link]' mode='r'
encoding='UTF-8'>
Método de línea de lectura de Python
Para leer solo una línea en lugar de varias líneas en un archivo de Python, use
el método .readline() en un objeto de archivo que se devuelve desde la función
open(). Cada subsiguiente .readline() extraerá la siguiente línea en el archivo si
existe.
with open('[Link]') as story_object:
print(story_object.readline())
imprimirá solo la primera línea en [Link].
Análisis de archivos JSON al diccionario
El formato JSON se utiliza para almacenar pares de valores clave. El módulo de
Python json permite leer dicho formato de datos y analizarlo en un diccionario.
La función [Link] toma un objeto de archivo como argumento y devuelve los
datos en formato de diccionario.
# Use [Link] with an opened file object to read the contents into a
Python dictionary.
# Contents of [Link]
# { 'userId': 10 }
import json
with open('[Link]') as json_file:
python_dict = [Link](json_file)
print(python_dict.get('userId'))
# Prints 10
Python anexar al archivo
Se puede escribir en un archivo abierto con la bandera 'w' sobrescribe todo el
contenido anterior del archivo. Para evitar esto, podemos agregar a un archivo
en su lugar. Utilizando la bandera 'a' como segundo argumento dentro de la
función open(). Si un archivo no existe, se creará para el modo de adición.
with open('[Link]', 'a') as shop:
[Link]('Tomatoes, cucumbers, celery\n')
Python escribir en archivo
De forma predeterminada, un archivo cuando se abre con open() es sólo para
lectura. 'r' Se le pasa un segundo argumento por defecto. Para escribir en un
archivo, primero abra el archivo con permiso de escritura a través del
argumento 'w'. Luego use el método .write() para escribir en el archivo. Si el
archivo ya existe, se sobrescribirá todo el contenido anterior.
with open('[Link]','w') as diary:
[Link]('Special events for today')
Método de líneas de lectura de Python
En lugar de leer todo el contenido de un archivo, puede leer una sola línea a la
vez. En lugar de .read()devolver una cadena, llame .readlines()para devolver
una lista de cadenas, cada una de las cuales representa una línea individual en
el archivo. Llamando a este código:
with open('[Link]') as file_object:
file_data = file_object.readlines()
print(file_data)
devuelve una lista de cadenas en file_data:
['1. Learn Python.\n', '2. Work hard.\n', '3. Graduate.']
Iterando sobre la lista, file_data e imprimiendo:
for line in file_data:
print(line)
salidas:
1. Learn Python.
2. Work hard.
3. Graduate.
Clase [Link]
En Python, el módulo csv implementa clases para leer y escribir datos tabulares
en formato CSV . Tiene una clase DictWriter que funciona como un escritor
normal pero asigna un diccionario a las filas de salida. Las claves del diccionario
son nombres de columnas, mientras que los valores son datos reales.
El constructor [Link] toma dos argumentos. El primero es el
controlador de archivos abiertos en el que se escribe el CSV. El segundo
parámetro con nombre, fieldnames, es una lista de nombres de campo que
maneja el CSV.
# An example of [Link]
import csv
with open('[Link]', 'w') as csvfile:
fieldnames = ['name', 'type']
writer = [Link](csvfile, fieldnames=fieldnames)
[Link]()
[Link]({'name': 'Moegui', 'type': 'Learning'})
[Link]({'name': 'Google', 'type': 'Search'})
"""
After running the above code, [Link] will contain the following
information:
name,type
Moegui,Learning
Google,Search
"""
Método de lectura de Python
Después de abrir un archivo con la función open() devuelve un objeto de
archivo, se llama llame al método .read() del objeto de archivo para devolver
todo el contenido del archivo como una cadena de caracteres. Ejecutando el
siguiente código:
with open('[Link]') as text_file:
text_data = text_file.read()
print(text_data)
producirá una cadena que contiene todo el contenido del archivo leído:
Mystery solved.
Congratulations!
Clases
método repr()
El método __repr__() de Python se usa para decirle a Python cuál debe ser la
representación de cadena de la clase. Solo puede tener un parámetro, self y
debe devolver una cadena.
class Employee:
def __init__(self, name):
[Link] = name
def __repr__(self):
return [Link]
john = Employee('John')
print(john) # John
Métodos de clase de Python
En Python, los métodos son funciones que se definen como parte de una clase.
Es una práctica común que el primer argumento de cualquier método que sea
parte de una clase sea el objeto real que llama al método. Este argumento
suele llamarse self .
# Dog class
class Dog:
# Method of the class
def bark(self):
print("Ham-Ham")
# Create a new instance
charlie = Dog()
# Call the method
[Link]()
# This will output "Ham-Ham"
Instanciar una clase de Python
En Python, se debe crear una instancia de una clase antes de usarla.
Como analogía, se puede pensar en una clase como un modelo (Auto), y una
instancia es una implementación real del modelo (Ferrari).
class Car:
"This is an empty class"
pass
# Class Instantiation
ferrari = Car()
Variables de clase de Python
En Python, las variables de clase se definen fuera de todos los métodos y
tienen el mismo valor para cada instancia de la clase.
Se accede a las variables de clase con las sintaxis [Link] o
.class_name.variable
class my_class:
class_variable = "I am a Class Variable!"
x = my_class()
y = my_class()
print(x.class_variable) #I am a Class Variable!
print(y.class_variable) #I am a Class Variable!
Método de inicio de Python
En Python, el método .__init__() se usa para inicializar un objeto recién creado.
Se llama cada vez que se instancia la clase.
class Animal:
def __init__(self, voice):
[Link] = voice
# When a class instance is created, the instance
variable
# 'voice' is created and set to the input value.
cat = Animal('Meow')
print([Link]) # Output: Meow
dog = Animal('Woof')
print([Link]) # Output: Woof
Función de tipo Python ()
La función type() de Python devuelve el tipo de datos del argumento que se le
pasó.
a = 1
print(type(a)) # <class 'int'>
a = 1.1
print(type(a)) # <class 'float'>
a = 'b'
print(type(a)) # <class 'str'>
a = None
print(type(a)) # <class 'NoneType'>
Clase de Python
En Python, una clase es una plantilla para un tipo de datos. Una clase se puede
definir usando la palabra clave class.
# Defining a class
class Animal:
def __init__(self, name, number_of_legs):
[Link] = name
self.number_of_legs = number_of_legs
Función dir()
En Python, la función integrada dir(), sin ningún argumento, devuelve una lista
de todos los atributos en el ámbito actual.
Con un objeto como argumento, dir() intenta devolver todos los atributos de
objeto válidos.
class Employee:
def __init__(self, name):
[Link] = name
def print_name(self):
print("Hi, I'm " + [Link])
print(dir())
# ['Employee', '__builtins__', '__doc__',
'__file__', '__name__', '__package__',
'new_employee']
print(dir(Employee))
# ['__doc__', '__init__', '__module__',
'print_name']
__main__ en python
En Python, __main__ es un identificador utilizado para hacer referencia al
contexto del archivo actual. Cuando un módulo se lee desde una entrada
estándar, un script o desde un indicador interactivo, __name__ se establece en
__main__.
Supongamos que creamos una instancia de una clase llamada CoolClass.
Imprimir el type() de la instancia dará como resultado:
<class '__main__.CoolClass'>
Esto significa que la clase CoolClass se definió en el archivo de script actual.