Las variables son contenedores para almacenar valores de datos.
Python no tiene ningún comando para declarar una variable. Una variable se crea en el momento en que se le asigna un valor por primera vez.
No es necesario declarar las variables con ningún tipo en particular e incluso pueden cambiar de tipo después de haberlas configurado.
Si desea especificar el tipo de datos de una variable, puede hacerlo mediante conversión.
Una variable puede tener un nombre corto (como xey) o un nombre más descriptivo (edad, nombre_auto, volumen_total). Reglas para variables de Python:
Los nombres de variables con más de una palabra pueden resultar difíciles de leer. Hay varias técnicas que puede utilizar para hacerlos más legibles:
Cada palabra, excepto la primera, comienza con mayúscula:
Cada palabra comienza con una letra mayúscula:
Cada palabra está separada por un carácter de subrayado:
Y puedes asignar el mismo valor a múltiples variables en una línea:
Si tiene una colección de valores en una lista, tupla, etc. Python le permite extraer los valores en variables. A esto se le llama desempacar .
La función Python print() se usa a menudo para generar variables.
En la función print() , genera múltiples variables, separadas por una coma:
También puede utilizar el operador + para generar múltiples variables:
Las variables que se crean fuera de una función (como en todos los ejemplos anteriores) se conocen como variables globales. Cualquiera puede utilizar las variables globales, tanto dentro como fuera de las funciones.
Crear una variable dentro de una función, con el mismo nombre que la variable global
Normalmente, cuando creas una variable dentro de una función, esa variable es local y solo se puede usar dentro de esa función. Para crear una variable global dentro de una función, puede usar la palabra clave global
En programación, el tipo de datos es un concepto importante.
Las variables pueden almacenar datos de diferentes tipos y diferentes tipos pueden hacer cosas diferentes.
Python tiene los siguientes tipos de datos integrados de forma predeterminada, en estas categorías:
Tipo de texto: str
Tipos numéricos: int, float, complex
Tipos de secuencia: list, tuple, range
Tipo de mapeo: dict
Tipos de conjuntos: set,frozenset
Tipo booleano: bool
Tipos binarios: bytes, bytearray, memoryview
Ninguno Tipo: NoneType
Puede obtener el tipo de datos de cualquier objeto usando la función Type():
Hay tres tipos numéricos en Python:
Las variables de tipo numérico se crean cuando les asignas un valor:
Int, o entero, es un número entero, positivo o negativo, sin decimales, de longitud ilimitada.
Float, o "número de punto flotante" es un número, positivo o negativo, que contiene uno o más decimales.
Los flotantes también pueden ser números científicos con una "e" para indicar la potencia de 10.
Los números complejos se escriben con una "j" como parte imaginaria:
Puedes convertir de un tipo a otro con los métodos int(), float() y complex
Python no tiene una función random() para crear un número aleatorio, pero Python tiene un módulo integrado llamado random que se puede utilizar para crear números aleatorios:
Importa el módulo aleatorio y muestra el número aleatorio entre 1 y 9:
Here is going to be the videos
Los Strings en Python están entre comillas simples o dobles. 'hola' es lo mismo que "hola" . Puede mostrar una cadena literal con la función print() :
La asignación de una cadena a una variable se realiza con el nombre de la variable seguido de un signo igual y la cadena:
Puede asignar una cadena de varias líneas a una variable utilizando tres comillas:
O tres comillas simples:
Puede devolver una variedad de caracteres utilizando la sintaxis de segmento. Especifique el índice inicial y el índice final, separados por dos puntos, para devolver una parte de la cadena.
Consigue los caracteres de la posición 2 a la posición 5 (no incluido):
Al omitir el índice inicial, el rango comenzará en el primer carácter:
Consigue los caracteres desde el inicio hasta la posición 5 (no incluido):
Al omitir el índice final , el rango irá hasta el final:
Consigue los caracteres desde la posición 2 y hasta el final:
Utilice índices negativos para comenzar el segmento desde el final de la cadena:
De: "J" en "Josh" (posición -4) hasta, pero no incluido: "s" en "Josh" (posición -2):
El método upper() devuelve la cadena en mayúsculas:
El método lower() devuelve la cadena en minúsculas:
El espacio en blanco es el espacio antes y/o después del texto real y muy a menudo desea eliminar este espacio.
El método strip()elimina cualquier espacio en blanco desde el principio o el final:
El método replace() reemplaza una cadena con otra cadena:
El método split() devuelve una lista donde el texto entre el separador especificado se convierte en los elementos de la lista.
El método split()divide la cadena en subcadenas si encuentra instancias del separador:
Para concatenar o combinar dos cadenas, puede utilizar el operador +.
Como aprendimos en el capítulo Variables de Python, no podemos combinar cadenas y números como este:
¡Pero podemos combinar cadenas y números usando el método format()!
El método format() toma los argumentos pasados, los formatea y los coloca en la cadena donde {}están los marcadores de posición:
El método format() toma un número ilimitado de argumentos y se colocan en los respectivos marcadores de posición:
Puede utilizar números de índice {0}para asegurarse de que los argumentos se coloquen en los marcadores de posición correctos:
Here is going to be the videos
Los booleanos representan uno de dos valores: True o False.
En programación a menudo necesitas saber si una expresión es True o False. Puede evaluar cualquier expresión en Python y obtener una de dos respuestas, True o False. Cuando comparas dos valores, la expresión se evalúa y Python devuelve la respuesta booleana:
Cuando ejecuta una condición en una declaración if, Python devuelve True o False:
La función bool() le permite evaluar cualquier valor y darle True o False a cambio,
Casi cualquier valor se evalúa True si tiene algún tipo de contenido.
Cualquier cadena es True, excepto las cadenas vacías.
Cualquier número lo es True, excepto el 0.
Cualquier lista, tupla, conjunto y diccionario son True, excepto los vacíos.
Lo siguiente devolverá Verdadero:
De hecho, no hay muchos valores que se evalúen como False, excepto valores vacíos, como (), [], {}, "" el número 0 y el valor None. Y, por supuesto, el valor Falsese evalúa como False.
Lo siguiente devolverá Falso:
Un valor más, u objeto en este caso, se evalúa como False, y eso es si tienes un objeto creado a partir de una clase con una función __len__ que devuelve 0 o False:
Puede crear funciones que devuelvan un valor booleano:
Puede ejecutar código basado en la respuesta booleana de una función:
Imprime "¡SÍ!" si la función devuelve Verdadero, de lo contrario imprime "¡NO!":
Python también tiene muchas funciones integradas que devuelven un valor booleano, como la función isinstance(), que se puede utilizar para determinar si un objeto es de un determinado tipo de datos:
Here is going to be the videos
Los operadores se utilizan para realizar operaciones con variables y valores. En el siguiente ejemplo, utilizamos el operador + para sumar dos valores:
Python divide los operadores en los siguientes grupos:
Los operadores aritméticos se utilizan con valores numéricos para realizar operaciones matemáticas comunes:
| Operador | Nombre | Ejemplo |
|---|---|---|
| + | Adición | x + y |
| - | Sustracción | x - y |
| * | Multiplicación | x * y |
| / | División | x / y |
| % | Módulo | x % y |
| ** | Exponenciación | x ** y |
| // | División entera | x // y |
Los operadores de asignación se utilizan para asignar valores a variables:
| Operador | Ejemplo | Equivalente |
|---|---|---|
| = | x = 5 | x = 5 |
| += | x += 3 | x = x + 3 |
| -= | x -= 3 | x = x - 3 |
| *= | x *= 3 | x = x * 3 |
| /= | x /= 3 | x = x / 3 |
| %= | x %= 3 | x = x % 3 |
| //= | x //= 3 | x = x // 3 |
| **= | x **= 3 | x = x ** 3 |
| &= | x &= 3 | x = x & 3 |
| |= | x |= 3 | x = x | 3 |
| ^= | x ^= 3 | x = x ^ 3 |
| >>= | x >>= 3 | x = x >> 3 |
| << | x <<= 3 | x = x << 3 |
Los operadores de comparación se utilizan para comparar dos valores:
| Operador | Nombre | Ejemplo |
|---|---|---|
| == | Igual | x == y |
| != | No igual | x != y |
| > | Mayor que | x > y |
| < | Menor que | x < y |
| >= | Mayor igual que | x >= y |
| <= | Menor igual que | x <= y |
Los operadores lógicos se utilizan para combinar declaraciones condicionales
| Operador | Descripción | Ejemplo |
|---|---|---|
| and | Devuelve True si ambas sentencias son verdaderas | x < 5 and x < 10 |
| or | Devuelve True si una de las sentencias es verdadera | x < 5 or x < 4 |
| not | Revierte el resultado. Si es True devuelve False | not(x < 5 and x < 4) |
Los operadores de identidad se utilizan para comparar los objetos, no si son iguales, sino si en realidad son el mismo objeto, con la misma ubicación de memoria:
| Operador | Descripción | Ejemplo |
|---|---|---|
| is | Devuelve True si ambas variables son el mismo objeto | x is y |
| is not | Devuelve True si ambas variables no son el mismo objeto | x is not y |
Los operadores de membresía se utilizan para probar si una secuencia se presenta en un objeto:
| Operador | Descripción | Ejemplo |
|---|---|---|
| in | Devuelve True si una secuencia con el valor especificado está presente en el objeto | x is y |
| not in | Devuelve True si una secuencia con el valor especificado no está presente en el objeto | x is not y |
Los operadores bit a bit se utilizan para comparar números (binarios):
| Operador | Nombre | Descripción | Ejemplo |
|---|---|---|---|
| & | AND | compara cada bit y lo pone a 1 si ambos son 1, caso contrario pone 0 | x & y |
| | | OR | compara cada bit y lo pone a 1 si uno o ambos son 1, caso contrario pone a 0 | x | y |
| ^ | XOR | compara cada bit y lo pone a 1 si sólo uno es 1, en caso contrario (si ambos son 1 o ambos son 0) se pone a 0 | x ^ y |
| ~ | NOT | invierte cada bit (0 se convierte en 1 y 1 en 0) | x ~ y |
| << | desplazamiento a la izquierda | inserta el número especificado de 0's (en este caso 2) por la derecha y deja caer la misma cantidad de bits por la izquierda | x << 2 |
| << | Desplazamiento a la derecha | desplaza cada bit el número especificado de veces hacia la derecha. Los huecos vacíos a la izquierda se rellenan con 0's. | x << 2 |
La precedencia del operador describe el orden en el que se realizan las operaciones.
Los paréntesis tienen la máxima prioridad, lo que significa que las expresiones dentro de paréntesis deben evaluarse primero:
La multiplicación *tiene mayor prioridad que la suma + y, por lo tanto, las multiplicaciones se evalúan antes que las sumas:
El orden de prioridad se describe en la siguiente tabla, comenzando con la prioridad más alta en la parte superior:
| Operador | Descripción |
|---|---|
| () | Paréntesis |
| ** | Exponenciación |
| +x -x ~x | Unario más, unario menos y bitwise NOT |
| * / // % | Multiplicación, división, división entera y módulo |
| + - | Adición y sustracción |
| << << | Desplazamientos bit a izquierda y derecha |
| & | AND bit a bit |
| | | OR bit a bit |
| == , != , > , >= , < , <= , is is not , in , not in |
Operadores de comparación, identidad y pertenencia |
| not | not lógico |
| and | Y |
| or | O |
Si dos operadores tienen la misma precedencia, la expresión se evalúa de izquierda a derecha.
Here is going to be the videos
Las listas se utilizan para almacenar varios elementos en una sola variable. Las listas se crean usando corchetes:
Los elementos de la lista están indexados, el primer elemento tiene índice [0], el segundo elemento tiene índice, [1] , etc.
Cuando decimos que las listas están ordenadas, significa que los elementos tienen un orden definido y ese orden no cambiará. Si agrega nuevos elementos a una lista, los nuevos elementos se colocarán al final de la lista.
La lista se puede cambiar, lo que significa que podemos cambiar, agregar y eliminar elementos en una lista después de haberla creado.
Dado que las listas están indexadas, las listas pueden tener elementos con el mismo valor:
Para determinar cuántos elementos tiene una lista, use la función len():
Los elementos de la lista pueden ser de cualquier tipo de datos:
Una lista puede contener diferentes tipos de datos:
Desde la perspectiva de Python, las listas se definen como objetos con el tipo de datos 'lista':
También es posible utilizar el constructor list() al crear una nueva lista.
Los elementos de la lista están indexados y puede acceder a ellos consultando el número de índice:
La indexación negativa significa comenzar desde el final. -1 se refiere al último elemento, -2 se refiere al penúltimo elemento, etc.
Puede especificar un rango de índices especificando dónde comenzar y dónde terminar el rango. Al especificar un rango, el valor de retorno será una nueva lista con los elementos especificados.
Devuelve el tercer, cuarto y quinto elemento:
Al omitir el valor inicial, el rango comenzará en el primer elemento:
Este ejemplo devuelve los elementos desde el principio hasta "Verde", pero SIN incluirlo:
Al omitir el valor final, el rango continuará hasta el final de la lista:
Este ejemplo devuelve los elementos desde "Amarillo" hasta el final:
Especifique índices negativos si desea iniciar la búsqueda desde el final de la lista:
Este ejemplo devuelve los elementos desde "Naranja" (-4) hasta "Rosa" (-1), pero SIN incluirlo:
Para determinar si un elemento específico está presente en una lista, utilice la palabra clave in:
Para cambiar el valor de un item específico, consulte el número de índice:
Cambie el segundo elemento:
Para cambiar el valor de los elementos dentro de un rango específico, defina una lista con los nuevos valores y consulte el rango de números de índice donde desea insertar los nuevos valores:
Si inserta más elementos de los que reemplaza, los nuevos elementos se insertarán donde especificó y los elementos restantes se moverán en consecuencia:
Para insertar un nuevo elemento de la lista, sin reemplazar ninguno de los valores existentes, podemos usar el método insert().
El método insert() inserta un elemento en el índice especificado:
Para agregar un elemento al final de la lista, use el método append() :
Para agregar elementos de otra lista a la lista actual, use el método extend(). Los elementos se agregarán al final de la lista.
Añade los elementos de oscuros a miLista:
El método extend() no tiene que agregar listas , puede agregar cualquier objeto iterable (tuplas, conjuntos, diccionarios, etc.).
Agregando elementos de una tupla a una lista:
El método remove() elimina el elemento especificado.
Si hay más de un elemento con el valor especificado, el método remove()elimina la primera aparición:
El método pop()elimina el índice especificado. Si no especifica el índice, el método pop() elimina el último elemento.
La delpalabra clave también elimina el índice especificado:
El método clear()vacía la lista. La lista aún permanece, pero no tiene contenido.
Puede recorrer los elementos de la lista utilizando un bucle for:
Imprime todos los elementos de la lista, uno por uno:
También puede recorrer los elementos de la lista consultando su número de índice. Utilice las funciones range() y len() para crear un iterable adecuado.
Puede recorrer los elementos de la lista utilizando un bucle while. Utilice la función len() para determinar la longitud de la lista, luego comience en 0 y recorra los elementos de la lista haciendo referencia a sus índices. Recuerde aumentar el índice en 1 después de cada iteración.
La comprensión de listas ofrece la sintaxis más corta para recorrer listas:
Un bucle manual breve que imprimirá todos los elementos de una lista:
La comprensión de listas ofrece una sintaxis más corta cuando desea crear una nueva lista basada en los valores de una lista existente.
Con la comprensión de listas puedes hacer todo eso con una sola línea de código:
El valor de retorno es una lista nueva, que deja la lista anterior sin cambios.
La condición es como un filtro que solo acepta los elementos que se valoran en True
Sólo acepta items que no sean "Amarillo":
La condición if x != "Amarillo" regresará True para todos los elementos excepto "Amarillo", lo que hará que la nueva lista contenga todas las frutas excepto "Amarillo".
La condición es opcional y puede omitirse:
Sin declaración if:
El iterable puede ser cualquier objeto iterable, como una lista, tupla, conjunto, etc.
Puedes usar la función range() para crear un iterable:
La expresión es el elemento actual en la iteración, pero también es el resultado, que puede manipular antes de que termine como un elemento de lista en la nueva lista:
Establece los valores en la nueva lista en mayúsculas:
Puedes configurar el resultado como quieras:
Establece todos los valores en la nueva lista en 'hola':
La expresión también puede contener condiciones, no como un filtro, sino como una forma de manipular el resultado:
Devuelve "Rojo" en lugar de "Azul":
La expresión del ejemplo anterior dice: "Devolver el item si no es Azul, si es plátano devolver Rojo".
Los objetos de lista tienen un método sort() que ordenará la lista de forma alfanumérica, ascendente, de forma predeterminada:
Para ordenar de forma descendente, utilice el argumento de palabra clave reverse = True:
También puede personalizar su propia función utilizando el argumento de palabra clave key = function . La función devolverá un número que se utilizará para ordenar la lista (el número más bajo primero):
De forma predeterminada, el método sort() distingue entre mayúsculas y minúsculas, lo que da como resultado que todas las letras mayúsculas se ordenen antes que las minúsculas:
Afortunadamente, podemos utilizar funciones integradas como funciones clave al ordenar una lista. Entonces, si desea una función de clasificación que no distinga entre mayúsculas y minúsculas, use str.lower como función clave:
¿Qué sucede si desea invertir el orden de una lista, independientemente del alfabeto? El método reverse() invierte el orden de clasificación actual de los elementos.
Invierta el orden de los elementos de la lista:
No puede copiar una lista simplemente escribiendo list2 = list1, porque: list2 solo será una referencia a list1, y los cambios realizados en list1 también se realizarán automáticamente en list2. Hay formas de hacer una copia, una es utilizar el método List integrado copy().
Otra forma de realizar una copia es utilizar el método integrado list().
Otra forma de unir dos listas es agregando todos los elementos de la lista2 a la lista1, uno por uno:
O puede utilizar el método , cuyo propósito es agregar elementos de una lista a otra lista:
Python tiene un conjunto de métodos integrados que puedes usar en listas
| Método | Descripción |
|---|---|
| append() | Añade un elemento al final de la lista |
| clear() | Elimina todos los elementos de la lista |
| copy() | Devuelve una copia de la lista |
| count() | Devuelve el numero de elementos de una lista con un valor específico |
| extend() | Añade elementos a la lista (o cualquier iterable) al final de la lista actual |
| index() | Devuelve el índice del primer elemento con un valor específico |
| insert() | Añade un elemento a un posición específica |
| pop() | Elimina un elemento de una posición específica |
| remove() | Elimina el item con un valor específico |
| reverse() | Revierte el orden de la lista |
| sort() | Ordena la lista |
Here is going to be the videos
Las tuplas se utilizan para almacenar varios elementos en una sola variable. Tuple es uno de los 4 tipos de datos integrados en Python que se utilizan para almacenar colecciones de datos; los otros 3 son: List , Set y Dictionary ; todos con diferentes calidades y usos. Una tupla es una colección ordenada e inmutable . Las tuplas se escriben entre paréntesis.
Los elementos de tupla están ordenados, no se pueden modificar y permiten valores duplicados. Los elementos de tupla están indexados, el primer elemento tiene índice [0], el segundo elemento tiene índice, [1] , etc.
Cuando decimos que las tuplas están ordenadas, significa que los elementos tienen un orden definido y ese orden no cambiará.
Las tuplas no se pueden cambiar, lo que significa que no podemos cambiar, agregar o eliminar elementos una vez creada la tupla.
Como las tuplas están indexadas, pueden tener elementos con el mismo valor:
Para determinar cuántos elementos tiene una tupla, use la función len():
Para crear una tupla con un solo elemento, debe agregar una coma después del elemento; de lo contrario, Python no la reconocerá como una tupla.
Los elementos de tupla pueden ser de cualquier tipo de datos:
Una tupla puede contener diferentes tipos de datos:
Desde la perspectiva de Python, las tuplas se definen como objetos con el tipo de datos 'tupla':
También es posible utilizar el constructor tuple() para crear una tupla.
Puede acceder a elementos de tupla consultando el número de índice, entre corchetes:
Imprime el segundo elemento de la tupla:
La indexación negativa significa comenzar desde el final. -1 se refiere al último elemento, -2 se refiere al penúltimo elemento, etc.
Imprime el último elemento de la tupla:
Puede especificar un rango de índices especificando dónde comenzar y dónde terminar el rango. Al especificar un rango, el valor de retorno será una nueva tupla con los elementos especificados.
Devuelva el tercer, cuarto y quinto elemento:
Al omitir el valor inicial, el rango comenzará en el primer elemento:
Al omitir el valor final, el rango continuará hasta el final de la tupla:
Especifique índices negativos si desea iniciar la búsqueda desde el final de la tupla:
Este ejemplo devuelve los elementos del índice -4 (incluido) al índice -1 (excluido)
Para determinar si un elemento específico está presente en una tupla use la palabra clave in:
Compruebe si "Verde" está presente en la tupla:
Las tuplas no se pueden cambiar, lo que significa que no se pueden cambiar, agregar ni eliminar elementos una vez creada la tupla. Pero existen algunas soluciones.
Una vez creada una tupla, no puedes cambiar sus valores. Las tuplas son inmutables o inmutable como también se les llama. Pero hay una solución. Puede convertir la tupla en una lista, cambiar la lista y convertir la lista nuevamente en una tupla.
Convierte la tupla en una lista para poder cambiarla:
Dado que las tuplas son inmutables, no tienen un método incorporado append(), pero existen otras formas de agregar elementos a una tupla.
1. Convierta en una lista : al igual que la solución alternativa para cambiar una tupla, puede convertirla en una lista, agregar sus elementos y convertirla nuevamente en una tupla.
Convierte la tupla en una lista, agregue "naranja" y conviértala nuevamente en una tupla:
2. Agregue tupla a una tupla: Se le permite agregar tuplas a tuplas, por lo que si desea agregar un elemento (o muchos), cree una nueva tupla con los elementos y agréguela a la tupla existente:
Las tuplas no se pueden cambiar , por lo que no puedes eliminar elementos de ellas, pero puedes usar la misma solución que usamos para cambiar y agregar elementos de tupla:
O puedes eliminar la tupla por completo:
La palabra clave del puede eliminar la tupla por completo:
Cuando creamos una tupla, normalmente le asignamos valores. Esto se llama "empaquetar" una tupla:
Pero, en Python, también podemos extraer los valores nuevamente en variables. Esto se llama "desempaquetar":
Si el número de variables es menor que el número de valores, puede agregar un * al nombre de la variable y los valores se asignarán a la variable como una lista:
Asigne el resto de valores como una lista llamada "roja":
Si el asterisco se agrega a otro nombre de variable distinto del último, Python asignará valores a la variable hasta que el número de valores restantes coincida con el número de variables restantes.
Agregue una lista de valores a la variable "dorado":
Puede recorrer los elementos de la tupla utilizando un bucle for.
También puede recorrer los elementos de la tupla consultando su número de índice. Utilice las funciones range()y len()para crear un iterable adecuado.
Puede recorrer los elementos de la tupla utilizando un bucle while(). Utilice la función len() para determinar la longitud de la tupla, luego comience en 0 y recorra los elementos de la tupla haciendo referencia a sus índices. Recuerde aumentar el índice en 1 después de cada iteración
Para unir dos o más tuplas puedes utilizar el operador +:
Si desea multiplicar el contenido de una tupla un número determinado de veces, puede utilizar el operador *:
Python tiene dos métodos integrados que puedes usar en tuplas.
| Método | Descripción |
|---|---|
| count() | Devuelve el numero de veces que un valor específico ocurre en la tupla |
| index() | Busca en la tupla un valor especificado y devuelve la posición en la que se encontró. |
Here is going to be the videos
Los sets se utilizan para almacenar varios elementos en una sola variable.
Los sets se escriben entre llaves.
Los elementos establecidos no están ordenados, no se pueden cambiar y no permiten valores duplicados.
Desordenado significa que los elementos de un set no tienen un orden definido. Los elementos establecidos pueden aparecer en un orden diferente cada vez que los usa y no se puede hacer referencia a ellos mediante índice o clave.
Los elementos del set no se pueden cambiar, lo que significa que no podemos cambiarlos una vez creado el set.
Los sets no pueden tener dos items con el mismo valor.
Los sets no pueden tener dos artículos con el mismo valor.
Para determinar cuántos elementos tiene un set, utilice la función len().
Los elementos del set pueden ser de cualquier tipo de datos:
Un set puede contener diferentes tipos de datos:
Desde la perspectiva de Python, los sets se definen como objetos con el tipo de datos 'sets':
También es posible utilizar el constructor set() para crear un set.
No puede acceder a elementos de un set haciendo referencia a un índice o una clave. Pero puede recorrer los elementos del set mediante un for bucle o preguntar si un valor específico está presente en un set mediante la palabra clave in.
Compruebe si "Rojo" está presente en el set:
Una vez que se crea un set, no puede cambiar sus elementos, pero puede agregar elementos nuevos.
Para agregar un elemento a un set, utilice el método add().
Para agregar elementos de otro set al set actual, use el método update() .
Agregue elementos desde pasteles dentro esteSet:
El objeto del método update() no tiene por qué ser un set, puede ser cualquier objeto iterable (tuplas, listas, diccionarios, etc.).
Agregue elementos de una lista a at set:
Para eliminar un elemento de un set, utilice remove()o el método discard().
Elimine "Rojo" utilizando el método remove():
Elimine "Rojo" utilizando el método discard():
También puede utilizar el método pop() para eliminar un elemento, pero este método eliminará un elemento aleatorio, por lo que no puede estar seguro de qué elemento se elimina. El valor de retorno del método pop() es el elemento eliminado.
El método clear() vacía el set:
La palabra del clave eliminará el set por completo:
Hay varias formas de unir dos o más sets en Python. Puede utilizar el método union() que devuelve un nuevo set que contiene todos los elementos de ambos sets, o el método update() que inserta todos los elementos de un set en otro:
El método update() inserta los elementos del set2 en el set1:
El método intersection_update() mantendrá sólo los elementos que estén presentes en ambos sets.
El método intersection() devolverá un nuevo set, que solo contiene los elementos que están presentes en ambos sets.
El método symmetric_difference_update() mantendrá solo los elementos que NO estén presentes en ambos sets.
El método symmetric_difference() devolverá un nuevo set que contiene solo los elementos que NO están presentes en ambos sets.
| Método | Descripción | Ejemplo |
|---|---|---|
| add() | Añade un elemento al set | |
| clear() | Elimina todos los elementos del set | |
| copy() | Devuelve una copia del set | |
| difference() | Devuelve un set que contiene la diferencia entre 2 o más sets | |
| difference_update() | Elimina los elementos en este set que también están incluidos en el otro | x % y |
| discard() | Elimina un elemento específico | |
| intersection() | Devuelve un set que es la intersección de otros dos | x // y |
| intersection_update() | Elimina los elementos en este set que no tiene otro | x // y |
| isdisjoint() | Devuelve si dos conjuntos tienen una intersección o no | |
| issubset() | Devuelve si otro conjunto contiene este conjunto o no | |
| issuperset() | Devuelve si este conjunto contiene otro conjunto o no | |
| pop() | Elimina un elemento del conjunto | |
| remove() | Elimina el elemento especificado | |
| symmetric_difference() | Devuelve un conjunto con las diferencias simétricas de dos conjuntoso | |
| symmetric_difference_update() | inserta las diferencias simétricas de este conjunto y otro | |
| union() | Devuelve un conjunto que contiene la unión de conjuntos | |
| update() | Actualiza el conjunto con la unión de este conjunto y otros |
Here is going to be the videos
Los diccionarios se utilizan para almacenar valores de datos en pares clave:valor. Un diccionario es una colección ordenada*, modificable y que no permite duplicados.
Los diccionarios están escritos entre llaves y tienen claves y valores:
Los elementos del diccionario están ordenados, modificables y no permiten duplicados. Los elementos del diccionario se presentan en pares clave:valor y se puede hacer referencia a ellos mediante el nombre de la clave.
Cuando decimos que los diccionarios están ordenados, significa que los elementos tienen un orden definido y ese orden no cambiará. Desordenado significa que los elementos no tienen un orden definido, no se puede hacer referencia a un elemento mediante un índice.
Los diccionarios se pueden cambiar, lo que significa que podemos cambiar, agregar o eliminar elementos una vez creado el diccionario.
Los diccionarios no pueden tener dos elementos con la misma clave:
Para determinar cuántos elementos tiene un diccionario, use la función len():
Imprime la cantidad de elementos en el diccionario:
Los valores de los elementos del diccionario pueden ser de cualquier tipo de datos:
Desde la perspectiva de Python, los diccionarios se definen como objetos con el tipo de datos 'dict':
También es posible utilizar el constructor dict() para crear un diccionario.
Puede acceder a los elementos de un diccionario consultando su nombre clave, entre corchetes:
Obtenga el valor de la clave "modelo":
También hay un método llamado get() que te dará el mismo resultado:
El método keys() devolverá una lista de todas las claves del diccionario.
La lista de claves es una vista del diccionario, lo que significa que cualquier cambio realizado en el diccionario se reflejará en la lista de claves.
Agregue un nuevo elemento al diccionario original y observe que la lista de claves también se actualiza:
El método values() devolverá una lista de todos los valores del diccionario.
La lista de valores es una vista del diccionario, lo que significa que cualquier cambio realizado en el diccionario se reflejará en la lista de valores.
Realice un cambio en el diccionario original y observe que la lista de valores también se actualiza:
La lista devuelta es una vista de los elementos del diccionario, lo que significa que cualquier cambio realizado en el diccionario se reflejará en la lista de elementos.
Realice un cambio en el diccionario original y observe que la lista de elementos también se actualiza:
Para determinar si una clave específica está presente en un diccionario, utilice la palabra clave in:
Puede cambiar el valor de un elemento específico consultando su nombre clave:
Cambie el "año" a 2018:
El método update()actualizará el diccionario con los elementos del argumento dado. El argumento debe ser un diccionario o un objeto iterable con pares clave:valor.
Agregar un elemento al diccionario se realiza usando una nueva clave de índice y asignándole un valor:
Existen varios métodos para eliminar elementos de un diccionario:
El método pop() elimina el elemento con el nombre de clave especificado:
El método popitem() elimina el último elemento insertado (en versiones anteriores a la 3.7, se elimina un elemento aleatorio):
La palabra clave del elimina el elemento con el nombre de clave especificado:
La palabra clave del también puede eliminar el diccionario por completo:
El clear()método vacía el diccionario:
Puede recorrer un diccionario mediante un bucle for. Al recorrer un diccionario, el valor de retorno son las claves del diccionario, pero también existen métodos para devolver los valores .
Imprime todos los nombres clave en el diccionario, uno por uno:
Imprime todos los valores del diccionario, uno por uno:
También puedes usar el método values() para devolver valores de un diccionario:
Puedes usar el método keys() para devolver las claves de un diccionario:
Recorra las claves y los valores utilizando el método items():
No puedes copiar un diccionario simplemente escribiendo dict2 = dict1, porque: dict2 solo será una referencia a dict1, y los cambios realizados en dict1 también se realizarán automáticamente en dict2. Hay formas de hacer una copia, una es utilizar el método Diccionario incorporado copy().
Otra forma de realizar una copia es utilizar la función incorporada dict().
Un diccionario puede contener diccionarios, esto se denomina diccionarios anidados.
O, si desea agregar tres diccionarios a un diccionario nuevo:
Crea tres diccionarios, luego cree un diccionario que contendrá los otros tres diccionarios:
Imprime el nombre del hijo 2:
Here is going to be the videos
Python admite las condiciones lógicas habituales de las matemáticas:
Estas condiciones se pueden utilizar de varias maneras, más comúnmente en "declaraciones if" y bucles. Una "declaración if" se escribe utilizando la palabra clave if .
En este ejemplo usamos dos variables, a y b , que se usan como parte de la declaración if para probar si b es mayor que a . Como a es 33 y b es 200 , sabemos que 200 es mayor que 33, por lo que imprimimos en la pantalla que "b es mayor que a".
Python se basa en la sangría (espacios en blanco al principio de una línea) para definir el alcance en el código. Otros lenguajes de programación suelen utilizar llaves para este propósito.
Declaración If, sin sangría (generará un error):
La palabra clave elif es la forma que tiene Python de decir "si las condiciones anteriores no eran verdaderas, intente esta condición".
En este ejemplo , a es igual a b , por lo que la primera condición no es verdadera, pero la condición elif es verdadera, por lo que imprimimos en la pantalla que "a y b son iguales".
La palabra clave else captura cualquier cosa que no esté cubierta por las condiciones anteriores.
En este ejemplo , a es mayor que b , por lo que la primera condición no es verdadera y la condición elif tampoco es verdadera, por lo que vamos a la condición else e imprimimos en la pantalla que "a es mayor que b". También puedes tener uno else sin elif:
Si solo tiene una declaración para ejecutar, puede colocarla en la misma línea que la declaración if.
Si solo tiene una declaración para ejecutar, una para if y otra para else, puede ponerlas todas en la misma línea:
También puedes tener varias declaraciones else en la misma línea:
La palabra clave and es un operador lógico y se utiliza para combinar declaraciones condicionales:
La palabra clave not es un operador lógico y se utiliza para invertir el resultado de la declaración condicional:
Pruebe si aNO es mayor que b:
Puede tener declaraciones if dentro de declaraciones if, esto se llama declaraciones anidadas . if
Las declaraciones if no pueden estar vacías, pero si por alguna razón tiene una declaración if sin contenido, introduzca pass para evitar recibir un error.
Here is going to be the videos
| Categoría | Frecuencia | Gráfica |
|---|---|---|
| Excelente(Nota >= 17) | 6 | ****** |
| Bueno( 13 <= Nota < 17) | 10 | ********** |
| Regular(09 <= Nota < 13) | 4 | **** |
| Deficiente(Nota < 09) | 8 | ******** |
Con el bucle while podemos ejecutar un conjunto de declaraciones siempre que una condición sea verdadera.
Imprima i siempre que sea menor que 6:
El bucle while requiere que las variables relevantes estén listas; en este ejemplo necesitamos definir una variable de indexación, i , que configuramos en 1.
Con la sentencia break podemos detener el ciclo incluso si la condición while es verdadera:
Salga del ciclo cuando i sea 3:
Con la instrucción continue podemos detener la iteración actual y continuar con la siguiente:
Continúe con la siguiente iteración si i es 3:
Con la instrucción else podemos ejecutar un bloque de código una vez cuando la condición ya no sea verdadera:
Imprima un mensaje una vez que la condición sea falsa:
Here is going to be the videos
Un bucle for se utiliza para iterar sobre una secuencia (es decir, una lista, una tupla, un diccionario, un conjunto o una cadena). Esto se parece menos a la palabra clave for en otros lenguajes de programación y funciona más como un método iterador como el que se encuentra en otros lenguajes de programación orientados a objetos. Con el bucle for podemos ejecutar un conjunto de declaraciones, una vez para cada elemento de una lista, tupla, conjunto, etc.
Imprime cada color en una lista de colores:
El bucle for no requiere que se establezca una variable de indexación de antemano.
Incluso las cadenas son objetos iterables y contienen una secuencia de caracteres:
Recorre las letras de la palabra "Rojo":
Con la instrucción break podemos detener el ciclo antes de que haya recorrido todos los elementos:
Sale del bucle cuando x sea "Amarillo":
Con la instrucción continue podemos detener la iteración actual del bucle y continuar con la siguiente:
No imprimir Azul:
Para recorrer un conjunto de código un número específico de veces, podemos usar la función range() , La función range() devuelve una secuencia de números, que comienza en 0 de forma predeterminada, se incrementa en 1 (de forma predeterminada) y termina en un número específico.
La función range() tiene por defecto 0 como valor inicial; sin embargo, es posible especificar el valor inicial agregando un parámetro: range(2, 6) , que significa valores del 2 al 6 (pero sin incluir 6):
La función range() por defecto incrementa la secuencia en 1, sin embargo, es posible especificar el valor de incremento agregando un tercer parámetro: range(2, 30, 3 ):
Incrementa la secuencia con 3:
La palabra clave else en un bucle for especifica un bloque de código que se ejecutará cuando finalice el bucle:
Imprime todos los números del 0 al 5 e imprime un mensaje cuando el ciclo haya finalizado:
Un bucle anidado es un bucle dentro de un bucle. El "bucle interno" se ejecutará una vez por cada iteración del "bucle externo":
Los bucles for no pueden estar vacíos, pero si por alguna razón tienes un bucle for sin contenido, ingresa la declaración pass para evitar recibir un error.
Here is going to be the videos
Una función es un bloque de código que sólo se ejecuta cuando se llama. Puede pasar datos, conocidos como parámetros, a una función. Una función puede devolver datos como resultado.
En Python una función se define usando la palabra clave def:
Para llamar a una función, use el nombre de la función seguido de paréntesis:
La información se puede pasar a funciones como argumentos. Los argumentos se especifican después del nombre de la función, dentro del paréntesis. Puedes agregar tantos argumentos como quieras, simplemente sepáralos con una coma. El siguiente ejemplo tiene una función con un argumento (nombre). Cuando se llama a la función, pasamos un nombre, que se usa dentro de la función para imprimir el nombre completo:
Los términos parámetro y argumento se pueden usar para lo mismo: información que se pasa a una función.
De forma predeterminada, se debe llamar a una función con la cantidad correcta de argumentos. Lo que significa que si su función espera 2 argumentos, debe llamar a la función con 2 argumentos, ni más ni menos.
Esta función espera 2 argumentos y obtiene 2 argumentos:
Si intenta llamar a la función con 1 o 3 argumentos, obtendrá un error:
Si no sabe cuántos argumentos se pasarán a su función, agregue un * antes del nombre del parámetro en la definición de la función. De esta manera, la función recibirá una tupla de argumentos y podrá acceder a los elementos en consecuencia:
También puede enviar argumentos con la sintaxis clave = valor . De esta forma no importa el orden de los argumentos
Si no sabe cuántos argumentos de palabras clave se pasarán a su función, agregue dos asteriscos: ** antes del nombre del parámetro en la definición de la función. De esta manera, la función recibirá un diccionario de argumentos y podrá acceder a los elementos en consecuencia:
El siguiente ejemplo muestra cómo utilizar un valor de parámetro predeterminado. Si llamamos a la función sin argumento, usa el valor predeterminado:
Puede enviar cualquier tipo de argumento de datos a una función (cadena, número, lista, diccionario, etc.) y será tratado como el mismo tipo de datos dentro de la función.
Para permitir que una función devuelva un valor, use la declaración return:
Las definiciones de las funciones no pueden estar vacías, pero si por alguna razón no tienen contenido, introdúzcala en la passdeclaración para evitar recibir un error.
Puede especificar que una función pueda tener SÓLO argumentos posicionales o SÓLO argumentos de palabras clave. Para especificar que una función solo puede tener argumentos posicionales, agregue , / después de los argumentos:
Sin el , / en realidad se le permite usar argumentos de palabras clave incluso si la función espera argumentos posicionales:
Pero al agregar , / obtendrá un error si intenta enviar un argumento de palabra clave:
Para especificar que una función solo puede tener argumentos de palabras clave, agregue *, antes de los argumentos:
Sin el *, se le permite utilizar argumentos posicionales incluso si la función espera argumentos de palabras clave:
Pero al agregar *, / obtendrá un error si intenta enviar un argumento posicional:
Puede combinar los dos tipos de argumentos en la misma función. Cualquier argumento anterior a / , es solo posicional y cualquier argumento posterior a *, es solo de palabra clave.
Python también acepta la recursividad de funciones, lo que significa que una función definida puede llamarse a sí misma. La recursividad es un concepto matemático y de programación común. Significa que una función se llama a sí misma. Esto tiene la ventaja de que puede recorrer los datos para llegar a un resultado. El desarrollador debe tener mucho cuidado con la recursividad, ya que puede ser bastante fácil escribir una función que nunca termina, o una que utiliza cantidades excesivas de memoria o potencia del procesador. Sin embargo, cuando se escribe correctamente, la recursividad puede ser un enfoque de programación muy eficiente y matemáticamente elegante. En este ejemplo, tri_recursion() es una función que hemos definido para llamarse a sí misma ("recurse"). Usamos la variable k como datos, que disminuye ( -1 ) cada vez que recurrimos. La recursividad finaliza cuando la condición no es mayor que 0 (es decir, cuando es 0). A un nuevo desarrollador le puede llevar algún tiempo descubrir cómo funciona exactamente esto; la mejor manera de averiguarlo es probándolo y modificándolo.
Here is going to be the videos
Una función lambda es una pequeña función anónima. Una función lambda puede tomar cualquier número de argumentos, pero solo puede tener una expresión.
Se ejecuta la expresión y se devuelve el resultado:
Agrega 10 al argumento a y devuelva el resultado:
Las funciones Lambda pueden tomar cualquier número de argumentos:
Multiplica argumento a por argumento b y devuelve el resultado:
Resume el argumento a, b y c devuelve el resultado:
El poder de lambda se muestra mejor cuando los usa como una función anónima dentro de otra función. Digamos que tiene una definición de función que toma un argumento y ese argumento se multiplicará por un número desconocido:
Utilice esa definición de función para crear una función que siempre duplique el número que envía:
O use la misma definición de función para crear una función que siempre triplique el número que envía:
O use la misma definición de función para crear ambas funciones, en el mismo programa:
Here is going to be the videos
Los arrays se utilizan para almacenar múltiples valores en una sola variable:
Cree un array que contenga nombres de automóviles:
Una matriz es una variable especial que puede contener más de un valor a la vez. Si tiene una lista de elementos (una lista de nombres de automóviles, por ejemplo), almacenar los automóviles en variables individuales podría verse así:
Sin embargo, ¿qué pasa si quieres recorrer los coches y encontrar uno específico? ¿Y si no tuvieras 3 coches, sino 300? ¡La solución es una array! Una array puede contener muchos valores bajo un solo nombre y puede acceder a los valores haciendo referencia a un número de índice.
Se hace referencia a un elemento de array haciendo referencia al número de índice .
Obtenga el valor del primer elemento del array:
Utilice el método len() para devolver la longitud de un array (la cantidad de elementos de una array).
Devuelve el número de elementos del array de cars:
Puede utilizar el bucle for in para recorrer todos los elementos de un array. Imprima cada elemento del array cars:
Puede utilizar el método append() para agregar un elemento a un array.
Puede utilizar el método pop()para eliminar un elemento del array.
También puede utilizar el método remove() para eliminar un elemento del array.
Elimina el elemento que tiene el valor "Volvo":
Here is going to be the videos
Python es un lenguaje de programación orientado a objetos. Casi todo en Python es un objeto, con sus propiedades y métodos. Una clase es como un constructor de objetos o un "modelo" para crear objetos.
Para crear una clase, use la palabra clave class:
Cree una clase llamada MiClase, con una propiedad llamada x:
Ahora podemos usar la clase llamada MiClase para crear objetos
Cree un objeto llamado p1 e imprima el valor de x:
Los ejemplos anteriores son clases y objetos en su forma más simple y no son realmente útiles en aplicaciones de la vida real. Para comprender el significado de las clases, debemos comprender la función __init__() incorporada. Todas las clases tienen una función llamada __init__(), que siempre se ejecuta cuando se inicia la clase. Utilice la función __init__() para asignar valores a las propiedades del objeto u otras operaciones que sean necesarias cuando se crea el objeto:
Cree una clase llamada Persona, use la función __init__() para asignar valores para nombre y edad:
La función __str__() controla lo que se debe devolver cuando el objeto de clase se representa como una cadena. Si la función __str__() no está configurada, se devuelve la representación de cadena del objeto:
Los objetos también pueden contener métodos. Los métodos en los objetos son funciones que pertenecen al objeto. Creemos un método en la clase Persona:
Inserte una función que imprima un saludo y ejecútela en el objeto p1:
El parámetro self es una referencia a la instancia actual de la clase y se utiliza para acceder a variables que pertenecen a la clase. No es necesario que tenga nombre self, puedes llamarlo como quieras, pero tiene que ser el primer parámetro de cualquier función de la clase:
Puede eliminar las propiedades del objeto con del.
Puede eliminar objetos con del.
Las class no pueden estar vacías, pero si por alguna razón lo estan, incluya pass en la declaración para evitar recibir un error.
Here is going to be the videos
La herencia nos permite definir una clase que hereda todos los métodos y propiedades de otra clase.
La clase principal es la clase de la que se hereda, también llamada clase base.
La clase hija es la clase que hereda de otra clase, también llamada clase derivada.
Cualquier clase puede ser una clase principal, por lo que la sintaxis es la misma que la de crear cualquier otra clase:
Para crear una clase que herede la funcionalidad de otra clase, envíe la clase principal como parámetro al crear la clase secundaria:
Hasta ahora hemos creado una clase hija que hereda las propiedades y métodos de su clase padre. Queremos agregar función la __init__() a la clase secundaria (en lugar de la palabra clave pass).
Cuando agrega la función __init__(), la clase secundaria ya no heredará la función __init__() principal.
Para mantener la herencia de la función principal , debe llamar a la función __init__() principal
Python también tiene una función super() que hará que la clase hija herede todos los métodos y propiedades de su clase padre:
Al usar la función super(), no es necesario usar el nombre del elemento principal; automáticamente heredará los métodos y propiedades de su elemento principal.
Agreguemos una propiedad llamada graduacion la clase Estudiante:
Agreguemos un método llamado bienvenido a la clase Estudiante:
Si agrega un método en la clase secundaria con el mismo nombre que una función en la clase principal, se anulará la herencia del método principal.
Here is going to be the videos
Un iterador es un objeto que contiene un número contable de valores.
Un iterador es un objeto sobre el que se puede iterar, lo que significa que puede recorrer todos los valores.
Técnicamente, en Python, un iterador es un objeto que implementa el protocolo del iterador, que consta de los métodos __iter__() y __next__().
Las listas, tuplas, diccionarios y conjuntos son todos objetos iterables. Son contenedores iterables de los que puede obtener un iterador. Todos estos objetos tienen un método iter() que se utiliza para obtener un iterador:
Incluso las cadenas son objetos iterables y pueden devolver un iterador:
También podemos usar un bucle for para iterar a través de un objeto iterable:
Para crear un objeto/clase como iterador, debe implementar los métodos __iter__() y __next__()su objeto.
Como aprendió en el capítulo Clases/Objetos, todas las clases tienen una función llamada __init__(), que le permite realizar algunas inicializaciones cuando se crea el objeto.
El método __iter__() actúa de manera similar, puede realizar operaciones (inicialización, etc.), pero siempre debe devolver el objeto iterador.
El método __next__() también le permite realizar operaciones y debe devolver el siguiente elemento de la secuencia.
El ejemplo anterior continuaría para siempre si tuviera suficientes declaraciones next() o si se usara en un bucle for
Para evitar que la iteración continúe para siempre, podemos usar la declaración StopIteration.
En el método __next__(), podemos agregar una condición final para generar un error si la iteración se realiza una cantidad específica de veces:
Here is going to be the videos
La palabra "polimorfismo" significa "muchas formas" y en programación se refiere a métodos/funciones/operadores con el mismo nombre que se pueden ejecutar en muchos objetos o clases
Un ejemplo de una función de Python que se puede utilizar en diferentes objetos es la función len().
Para cadenas, len() devuelve el número de caracteres:
Para tuplas, len() devuelve el número de elementos de la tupla:
Para diccionarios, len() devuelve el número de pares clave-valor en el diccionario:
El polimorfismo se usa a menudo en métodos de clase, donde podemos tener varias clases con el mismo nombre de método. Por ejemplo, digamos que tenemos tres clases: Carro, Bote y Avion, y todas tienen un método llamado move():
Gracias al polimorfismo podemos ejecutar el mismo método para las tres clases.
¿Qué pasa con las clases con clases secundarias con el mismo nombre? ¿Podemos usar polimorfismo allí? Sí. Si usamos el ejemplo anterior y creamos una clase principal llamada Vehiculo y creamos Carro, Bote, Avion clases hijas de de la clase principal Vehiculo, las clases hijas heredarán los métodos de Vehiculo, pero pueden anularlas.
Las clases secundarias heredan las propiedades y métodos de la clase principal. En el ejemplo anterior puedes ver que la clase Carro está vacía, pero hereda marca, modelo y move() de Vehiculo. Las clases Bote y Avion también heredan marca, modelo y move() de Vehiculo, pero ambas anulan el método move().
Here is going to be the videos
Un módulo es lo mismo que una biblioteca de códigos. Un archivo que contiene un conjunto de funciones que desea incluir en su aplicación.
Para crear un módulo simplemente guarde el código que desee en un archivo con la extensión de archivo .py:
Guardamos este código en un archivo llamado mimodulo.py
Ahora podemos usar el módulo que acabamos de crear, usando la declaración import:
Importamos el módulo y llamamos a la función de saludar:
El módulo puede contener funciones, como ya se ha descrito, pero también variables de todo tipo (matrices, diccionarios, objetos, etc.):
Guardamos este código en el archivo mimodulo.py
Importe el módulo y acceda al diccionario persona1:
Puede nombrar el archivo del módulo como desee, pero debe tener la extensión de archivo .py
Puedes crear un alias cuando importas un módulo, usando la palabra clave as:
Creamos un alias para mimodulo llamado mx:
Hay varios módulos integrados en Python, que puedes importar cuando quieras.
Hay una función incorporada para enumerar todos los nombres de funciones (o nombres de variables) en un módulo. La función dir():
Puede optar por importar solo partes de un módulo utilizando la palabra clave from.
El módulo nombrado mimodulo tiene una función y un diccionario:
Here is going to be the videos