Curso de PYTHON desde CERO (Completo)

Python es uno de los lenguajes de programación más
versátiles que existen. Lo utilizan desde pequeños desarrolladores
hasta gigantescas empresas como Google, Facebook, Apple, YouTube y muchos más. De hecho, incluso las organizaciones científicas más
grandes del mundo también lo utilizan. Por ejemplo, la propia NASA. Si hablamos del presente y sólo del presente, Python
puede considerarse el lenguaje de programación de propósito general, si todo está
en el lenguaje de programación top 1 Mundial.

Utilizado para desarrollar p.e. páginas
web, aplicaciones móviles, sistemas de escritorio, CRM, sistemas inteligencia artificial y muchas otras cosas.
Incluso en ciencia podemos decir que Python
es el lenguaje más utilizado. Entonces sí, Python es ese lenguaje. Una vez que hayas dominado Python, no sólo lo entenderás
de una manera mucho más fácil.

Cualquier otro lenguaje de programación,
pero también vas a tener en tu stack de conocimiento uno de los lenguajes de alto nivel más
potentes creados hasta el momento. Por eso yo, programador y creador de los cursos de desarrollo
web mejor clasificados. en todo YouTube, lo que realmente ayudó a miles de personas
a encontrar trabajo y a millones Para ingresar al mundo de la programación,
te invito a quedarte. Porque este es el curso para ti de una vez por todas,
aprende Python desde cero.

Bienvenido al curso definitivo de Python. Bueno, para empezar, aunque ya entendimos que Python
es un lenguaje muy poderoso, eso tener muchos usos y demás, antes de eso deberíamos
hablar de las características del lenguaje, ya que si vamos a trabajar con una nueva
tecnología, tenemos que saber cuales son sus características, y bueno,
en este apartado vamos a conocer las características de Python para que entendamos cuál es la tecnología
en la que estamos trabajando. Para empezar, la primera característica
que tiene Python es que es un lenguaje de programación de propósito general, es decir,
sí, su lenguaje es de propósito general. Se dice que es de uso general porque puede usarse
para cualquier actividad, es decir, hay idiomas que dentro están todos limitados
a web, otros para móvil, pero Python, por ejemplo, sirve para
todo, no es que sea un lenguaje creado especialmente para el servidor, no sé, celulares
o programados específicamente para trabajar con pizarras electrónicas, no,
es un lenguaje al que le podemos dar muchos usos.

Desde el desarrollo de juegos hasta sitios
web, aplicaciones, sistemas de inteligencia artificial, análisis de datos, o muchas otras cosas. La segunda característica es que Python es
un lenguaje de alto nivel, veamos, tenemos lenguajes de bajo nivel y lenguajes de alto nivel,
los lenguajes de bajo nivel son lenguajes con una estructura diferente a la del lenguaje natural,
y los lenguajes de alto nivel son los que más se parecen al lenguaje natural, es decir,
cuanto más bajo es el nivel del idioma, más difícil será entenderlo cuando
lo leamos, ya que no se parece al la forma en que nos comunicamos
siempre que sea un lenguaje de nivel superior, Será más fácil de entender cuando
leamos. Lo que estamos viendo ahora en pantalla es un
claro ejemplo de lenguaje de bajo nivel, solo estamos diciendo hola mundo y nada más,
para eso todo este código, que de hecho si se lo explicara se marearían, y que es solo para
imprimir un texto en lenguaje ensamblador, sí, ese lenguaje es ensamblador, un lenguaje
de bajo nivel, mientras que este es un lenguaje de alto nivel, porque podemos
entender lo que hace sin ninguna dificultad, es decir, cuando lo vemos, lo entendemos,
porque así es más o menos tal vez podamos comunicarnos.
Veamos, primero dice que A es igual.

A 4, luego dice que B es igual a 2, luego dice
que C es igual a A más B, y finalmente me imprime C, es decir, me muestra mostrar
el valor de C, entonces la pregunta es el siguiente ¿qué me vas a mostrar? ¿cual es el
valor de c? Si tu respuesta fue 6, tienes razón, porque C es A más B,
A vale 4 y B vale 2, 4 más 2, 6, entonces C vale 6, cuando lo mostramos nos muestra
un 6, realmente es muy simple, y en caso que no os parece sencillo, yo me replantearía
la posibilidad de volver a la primaria, es broma, no te ofendas, si, ya empezamos con los chistes,
bueno, si eso me gusta, lo siento Digamos que vamos a hacer bromas durante todo el
curso y ellos se reirán mientras aprenden, no está mal, tal vez a una persona de 30, 40
años no le gusten las bromas, pero a una persona quien recién comienza en el mundo
de la programación, una broma a mitad de curso puede hacer que esa persona se divierta y elija
quedarse y seguir aprendiendo, entonces Tienes que entender el propósito, ¿verdad? El siguiente
punto de Python, el tercero, es que es fácil de aprender, es decir, a pesar de
ser un lenguaje tan potente, tan utilizado para cosas tan complejas, es el idioma con la curva de
aprendizaje más fácil de todos, o sea, es el idioma más rápido de aprender,
y si te lo explico, querida, mucho más, porque no voy a dar nada por sentado, es decir, el
curso te explicará punto por punto.

Apunta todo, no te dejará nada suelto y sin terminar,
porque aunque ya sepas programar, no Aseguro que siempre se aprende algo nuevo, y más
cuando revisamos los nuevos estándares, por eso el curso es muy completo, no podrían haber elegido
un mejor lugar para aprender Python, de hecho, ni siquiera el hecho de
que sea de pago, ya que el hecho de que tengas que pagar no lo hace mejor, es decir, si hubiera
agarrado este curso y lo hubiera subido a Udemy, no es que sea mejor porque no tuviste
que pagar, para nada, lo tengo. aquí es gratis y debes aprovecharlo, de verdad,
encontraron el mejor lugar para quédate a aprender, te aseguro que cuando
termine el curso, si conoces a alguien que quiere aprender Python, recomendarán este
curso, y si vienes por qué me lo recomendaron, es una prueba clara entonces
de que el curso es excelente. Volviendo al punto, les dije que es sencillo de
aprender por su similitud con el lenguaje. humano, también porque existe una comunidad con un
número tan grande de programadores que cualquier problema que tienen lo van a poder solucionar, básicamente
no se van a bloquear porque cuando tienes un problema, ese problema que tienes,
mucha gente también lo tiene lo tenían antes que tú, lo publicaron
en foros y ya tenemos una solución para ti También pueden ir a verlo y bueno solucionar
el problema que tengan que así sea.

Cualquiera que sea tu problema que te surja,
sí o sí la solución está en internet. Es fácil por todo eso y por qué lo dicen las estadísticas.
La siguiente característica, desde aquí la pongo
un poco más técnica, es que Python es escritos dinámicamente, si saben programar entenderán
lo que queremos decir, pero si no, Déjame explicártelo. Básicamente tenemos dos tipos de tipeo, dinámico
y estático. ¿Qué queremos decir con esto? Bueno, veámoslo con fotos porque es lo mejor
que podemos hacer. Así es Python, o sea, si queremos decir que el
nombre sea Roberto, o sea nombre Mismo Roberto, simplemente lo hacemos así.

Si queremos decir que la edad de Roberto va
a ser esa, lo hacemos así, es así. simple como se muestra allí. Sin embargo, son datos diferentes. Observe que uno es un texto y el otro es un número.
Lo que hace Python es descubrir qué tipo
de datos es y lo define automáticamente. Ahora bien, en un lenguaje como Java, por ejemplo,
que es el que estamos viendo ahora, deberíamos dile al programa, mira, voy a crear una variable
que contendrá un texto y solo Hay que decir que será igual que Roberto. Luego tenemos que decirle, voy a crear una variable
que será igual a un número entero, int es un número entero, es un número entero que es un número entero, un
número entero, es decir, básicamente decimos que definiremos una variable de valor numérico
y luego la definimos, es decir decimos ¿cual sera ese numero? Esto se debe a que en un lenguaje estático,
el tipo de datos que contendrá la variable Lo que estamos creando lo tenemos que definir
antes, es decir, tenemos que decirle al programa qué tipo de datos vamos a crear.

En cambio, en lenguajes como Python encaja automáticamente.
Como podemos ver, el tipo de dato no depende de
la variable, es decir, solo tenemos pasarle los datos y Python los entiende automáticamente, sabe
que un número es un número, un texto es un texto y así con cada tipo de dato. En resumen, entonces podemos decir que
en un lenguaje tipado estáticamente los datos tiene que ajustarse a la variable, mientras
que en un lenguaje dinámico la variable es se adapta según el tipo de datos que le pasamos. Por eso es dinámico. Antes de continuar quiero decirte que obviamente el
curso no será solo de imágenes, Es obvio, voy a codificar, vamos a escribir cosas y
demás, solo al principio. Para que entiendas los ejemplos utilizamos imágenes.
De hecho aquí ya os hablaba de variables, de tipos
de datos y de conceptos que vamos a abordar. para ver más tarde. O sea, esto si no lo entendieron bien porque son
muy, muy principiantes, o sea, son muy principiantes En todo esto no os preocupéis porque vamos a tener
que ver lo mismo.

Lo único que pasa es que a veces tenemos que explicar
conceptos que sólo los programadores entender, porque si no, no podemos explicar la característica
del lenguaje. Es decir, en la programación las tecnologías
se crean y con el tiempo se modifican. porque surgen problemas o tenemos que hacer cosas
nuevas, entonces se vuelven en las características del lenguaje. Y cuando tenemos que explicarlos, ¿cuáles son?
las bases del lenguaje, no entenderán si no entienden algo de programación. Por eso es normal que cuando estoy explicando algunas
cosas, por ejemplo, de bases de datos Python, dices, ah, pero variable, pero tipo
de datos, que es un tipo de datos, que es una variable. Y si lo entienden genial, pero si no no
os preocupéis que igual, repito, nos vamos. Veamos en el curso, pero ya que estamos hablando de las características
de Python, tenemos para entenderlo en cuenta.

De hecho, siempre ves gente que sabe programar
este tipo de secciones ya que suelen ser muy útiles. Vamos, por ejemplo, con el siguiente ejemplo, que
es uno de los que os he ido contando ahora. En otras palabras, si saben programar, les funcionará. para que
sea mucho más útil y si no, pues tendré para explicárselos y cuando lleguen a ese punto
y mezclarlo con lo que les explico ahora, ellos lo entenderán. La siguiente característica realmente aplica
eso, así que veámoslo. La quinta característica es precisamente que
es un lenguaje orientado a objetos. Como dije, me puse técnico. Pero básicamente cualquier
lenguaje de programación que implemente conceptos de programación orientada a objetos,
que es básicamente un estilo de programación donde escribimos código y desarrollamos
pensando en las partes del programa como si eran objetos.

Es como una forma de programar. Es decir, podemos crear clases, métodos,
objetos y otras cosas que vamos a ver cuando vamos a llegar allí hasta ese punto. Pero ahora quédate con la idea de que Python
es un lenguaje de programación orientado a los objetos. Como te dije, aun así no te sientas mal
si de vez en cuando no acaban de entender. todo. Porque a veces, como te dije, pasa esto por tener
que nombrar las cosas un poco más avanzadas. para explicar cosas básicas, ya que esas cosas
básicas fueron creadas solo para clasificar otras cosas más avanzadas, entonces es como
una especie de círculo, como algo retórico. No te preocupes de todos modos. Cuando terminen este curso no se les escapará
nada.

Eso puede estar tranquilo. Así que repasemos todo muy brevemente en
un minuto. Python es un lenguaje de propósito general,
porque puede usarse para cualquier cosa, desde un nivel alto, porque se parece mucho al lenguaje
humano, es decir, solo leerlo podemos entenderlo a medias, esto hace
que sea fácil de aprender, es el idioma con La curva de aprendizaje más rápida es
la escritura dinámica, es decir, no tenemos que le dice al programa qué tipo de datos vamos a
utilizar, pero lo reconoce por sí solo, y está orientado a objetos, porque nos permite trabajar de
manera justa con programación orientada a objetos, que es algo que vamos a ver más adelante.
Y por último veremos la última característica,
y es que Python es un lenguaje interpretado.

Es un lenguaje interpretado ya que precisamente existe
un programa que interpreta la instrucción. después de las instrucciones y las ejecuta. Aquí, por ejemplo, tenemos un lenguaje con varias líneas
de código. Lo que hace el intérprete es precisamente leer línea
por línea, cada línea la interpreta y lo convierte en un lenguaje de máquina, esto es para
cualquier computadora o dispositivo en el que estamos ejecutando Python, precisamente
podemos entenderlo, eso es lo que estamos diciéndole a la computadora. Aquí, como está viendo en el ejemplo, es línea por
línea. Si bien tenemos otro tipo de lenguaje que
es el lenguaje compilado, es decir no no tiene un intérprete sino que tiene un compilador, mientras
que el intérprete interpreta la línea por línea y ejecutar, el compilado compila todo
solo una vez y eso genera un archivo eso ahora está listo para ejecutarse. Cabe señalar que, por ejemplo, una de las ventajas
de los lenguajes interpretados como Python es que son más fáciles de corregir
errores.

Es más fácil, digamos, reemplazar partes enteras
de un programa, agregar nuevos módulos Y además. ya que en los compilados solo tienes
que hacer como todo atrás, compila todo atrás, que es como una especie de renderizado.
Es como cuando importas un vídeo, tienes que espera y espera y espera, es lo mismo. Entonces lo interpretado línea por línea
es más fácil de corregir y cambiar.

Digamos en los interpretados podemos ir probando código
por código y ver cómo se va interpretando, para que podamos encontrar errores. Pero lo malo es que los idiomas que se interpretan,
por ejemplo, suelen ser un un poco más lento que los compilados, precisamente porque tienen la necesidad
de agregar un proceso más, lo cual es traducir el programa mientras se está ejecutando.
Es decir, mientras se ejecuta el programa que
ya está compilado, el programa que se interpreta interpretar y ejecutar. Y esa fue la última característica de Python,
un lenguaje interpretado, como JavaScript, PHP, etc. Por cierto, tenemos un curso de JavaScript completamente
gratuito y muy completo, tiene 30 horas y puedes ir a verlo, está disponible
en el canal. Y bueno, básicamente hemos terminado aquí.
Después de ver las características de Python, veamos Ahora ¿por qué usarlo? Bueno hasta aquí todo muy bonito, todo muy bonito,
pero con tantos lenguajes de programación. ¿Por qué deberíamos aprender Python? Es
decir, ¿por qué debería usar Python? Hay muchas razones para usar Python, veámoslas
una por una. Para empezar, cualquier desarrollador de Python
puede leer y comprender muy fácilmente la mayoría de los programas Python, ya que es un lenguaje,
como te dije, muy fácil de entender.

Y si sabes inglés, más aún, porque tiene
una sintaxis muy parecida a la que vendría siendo por ejemplo la gramática del inglés. Python también permite a los desarrolladores
ser más productivos, ya que pueden, por ejemplo, Escribe en Python un lenguaje con muchas menos
líneas de código que en otros lenguajes. Es decir, Python es un lenguaje que resume mucho
el código. Incluso hay idiomas en los que es sumamente importante utilizar
llaves, corchetes, signos todo raro, y en Python esto nos salva, usamos la sangría,
que es una forma de dejar espacios en diferentes lugares del código para que se
hagan ciertas cosas, según la estructura Del programa.

Esto incluso nos obliga a poder ordenar mejor el
código y cuando no trabajamos con idiomas como Python, ordenarlo igual, ya que por defecto
estaríamos programados para ordenarlos Entonces. Pero eso sí, en otros programas hay lenguajes ¿Qué
hacemos en 20 líneas de código? mientras que en Python podemos hacerlo
con 4 o 5, es decir, es realmente interesante. También como tercera cualidad podemos ver
que Python tiene una gran biblioteca. estándar de código, que básicamente contiene una gran cantidad
de código que podemos reutilizar, y podemos usarlos para casi cualquier
cosa.

¿Qué quiere decir esto? Bien. Esto significa que tenemos una calidad excelente, porque
los desarrolladores no tienen que escribir código desde cero, ya que podemos utilizar fragmentos
de código que nos proporciona Python. Por ejemplo, si desea trabajar con el tiempo
desde su computadora, o si desea trabajar con inteligencia artificial, o si quieres trabajar
con web, Python obviamente no te va a cargar por defecto todas las funcionalidades que
tiene, porque el programa se volvería pesado. Imagínate llamar a todas las funcionalidades que
tiene en un programa de pedos. Digamos que depende del programa
que tengamos, ya vamos a usar una función.

Es u otro Quiero decir, ¿por qué vamos a llamar a todos?
las funcionalidades que nos permiten entender la batería de nuestro ordenador si en realidad
no la vamos a utilizar? Es usar, digamos, módulos que realmente no
nos aportan, pero sí nos restan, porque precisamente el rendimiento resta valor al programa. Básicamente es decir, tienes pequeños fragmentos de código escritos
para que puedas hacer cualquier cosa. tarea que deseas. Entonces quiero decir, mira, voy a trabajar
con el tiempo o con la batería o con esto o con el otro y extraes el bit de código que
te permite hacer lo que quieres hacer. Otra cosa positiva es que podemos mezclarlo
con otros idiomas. programación. En otras palabras, podemos usarlo y mezclarlo fácilmente. Lo podemos mezclar con Java, con C, con C++,
es decir, no es un lenguaje que se ejecute sólo por tu cuenta. No es un idioma que sea único y que no podamos mezclar
con ningún otro. Hay lenguajes que se parecen un poco y solo sirven
para su propio entorno, pero Python Incluso puedes mezclarlo con otros idiomas.

Otra cosa que creo que es una de las fortalezas
de Python es su comunidad muy sólida. Tiene una comunidad increíble y recontractiva. Estamos hablando de millones de desarrolladores alrededor
de todo el mundo que siempre prestan su apoyo. constantemente para ayudarnos a resolver cualquier
problema que tengamos. Digamos que enseñamos cosas nuevas, hay miles de
tutoriales, miles de videos, es excelente. la verdad. Porque además es gratis. Otra cosa hermosa de Python es, gracias a Dios,
el multiparadigma. Es decir, podemos transferir un programa hecho
en python a diferentes sistemas operativos. como Mac, Linux, Windows. No es que sólo funcione para Windows o sólo
para Linux o sólo para Mac. Antes, si hacíamos por ejemplo un programa para
Linux, teníamos que hacer otro completamente diferente para Mac y uno completamente diferente para
Windows y así con cada uno de los sistemas operativos que estaban Hicimos un programa para cada idioma y reutilizamos
parte del código, pero lo hicimos como diferentes programas. No usamos parte del código, en realidad usamos
lógica.

En otras palabras, la lógica que nos sirvió para construir
usamos ese programa pero en diferentes idiomas o de diferentes maneras. Con Python, adiós. Un código, múltiples plataformas. Y por último, si vamos a hablar de economía,
otra ventaja de Python es que a Python le dicen los aumentos salariales. No solo porque Python es el lenguaje de mejores
pagos del mundo, es decir, sólo con Python y por tu cuenta tienes una excelente
oportunidad laboral. Aquí me refiero a que las estadísticas promedio
nos muestran que un desarrollador de Python gana una media de unos 100.000 dólares anuales.
En los países del primer mundo un poco más, en los países del
tercer mundo quizás un poco menos.

En los países del tercer mundo que trabajan en el extranjero,
un poco más, un punto medio. En fin, quiero decir que no sólo
lo digo por esto. Sacando que tiene una excelente oportunidad laboral, conocer
Python es una habilidad muy poderosa en cualquier trabajo. Abogados, médicos, etc. Python realmente aumenta los salarios por fallas.
Es decir, digamos, venir a una empresa, presentar una solicitud
y decir, sí, soy desarrollador. en Python, sé cómo crear programas en Python, trabajo
con Python, conozco Python, soy una bestia en pitón. Es realmente el factor que aumenta los salarios. Si eres contador, abogado, médico, científico, científico
sobre todo de cualquier índole de la ciencia biológica o médica, es decir,
cualquier tipo de ciencia natural de hecho. Es decir, conozco Python y listo, subes dos o tres escalones
de sueldo de entrada. Así que ten en cuenta que es muy importante. Y esas fueron exactamente las características y
algunas de las cosas más importantes para que usan Python. Cada caso será más específico y depende
del objetivo que se le quiera dar.

Tu propio aprendizaje, ¿verdad? Pero la verdad es que siento que aprender
Python debería ser, digamos, algo que atender en cualquier tipo de situación. Nos sirve para lo que queramos. Trabajemos, no trabajemos, seamos emprendedores, seamos
de cualquier profesión. Aprende Python y no te arrepentirás. Bueno, ahora sabemos que con Python podemos hacer
de todo. Bueno, ¿qué implica todo esto? ¿Para qué se utiliza con mayor frecuencia? Porque no es que Python sea óptimo para
absolutamente todo.

Sí para la gran mayoría de las cosas, pero no es que podamos usarlo
para todo. Veamos a qué nos referimos
con propósito general. Veámoslo punto por punto y por qué se utiliza
normalmente. Bien, comencemos con el primero. Para empezar, se usa mucho como idioma. para desarrollar páginas web en el lado del servidor.
Quiero decir, sí, para el desarrollo web. Aquí también se suelen reproducir muchos vídeos e imágenes. Hay dos grandes frameworks llamados Flask y
Django. que son para poder desarrollar sitios web
con Python. Esto es excelente porque sí, Podremos usar Python para hacer páginas web.
Quiero decir, es muy útil. ya que el desarrollo web también tiene un excelente
rendimiento. También nos ayuda a desarrollar aplicaciones móviles,
obviamente. También nos ayuda a desarrollar aplicaciones de escritorio
o de escritorio, obviamente.

Estamos hablando de programas como, por ejemplo, Blender,
Vitorrent. Hablamos de gran parte de Google, por
ejemplo, fue desarrollado por Python, muchos
más. programas de escritorio, programas que puedes abrir
como Premiere, como After Effects. Solo si no me equivoco, Blender fue desarrollado con
python. y Vitorrent también, así que no digas los
ejemplos. También se usa ampliamente para la automatización
de scripts, Por ejemplo, para monitorear la batería, el estado
de la batería. Proporcionamos información sobre la batería
de los dispositivos y otras cosas. Por ejemplo, informamos la cantidad de energía. que el dispositivo debe tener para estar en buen
estado. Estamos hablando del nivel al que se carga. También con la automatización podemos detectar,
p.e. Archivos log4j Básicamente para ver dónde podemos
tener activo Log4j. Para aquellos que no lo saben, Log4j es solo una biblioteca
de Java.

Que recientemente se descubrió un error de seguridad
muy importante que haría… Vaya, esto es un error. No lo sé, hombre. Como decía es una biblioteca muy importante que se
descubrió un error de seguridad. y que esto ponía en riesgo muchos sistemas. Entonces lo que hay que hacer para que el sistema
sea seguro es actualizar la versión. Con esto lo que hacemos es detectar revisiones anteriores
para empezar y entender cuáles son los que tenemos
que utilizar. Básicamente para evitar fallos de seguridad. También podemos usarlo para, por ejemplo, realizar
tareas de ciencia de datos y Machine aprendiendo. Python tiene fama de ser el más utilizado
para el aprendizaje automático. Que es precisamente una rama de la Inteligencia
Artificial. Y también uno de los más populares para el
análisis de datos junto con R.

Python para estos trabajos es muy útil. Dispone de bibliotecas como, por ejemplo, NumPy
y Pandas. Y bueno, están entre los más conocidos, entre muchos
otros más. De hecho, vamos a hacer un curso de Inteligencia Artificial.
después de este curso de Python. Entonces, si quieres aprender Inteligencia
Artificial Es requisito obligatorio que veas este vídeo. Por qué el curso de Inteligencia Artificial
que vamos a dar va a ser con Python. Así que si terminan este curso estarán preparados
para empezar con la Inteligencia Artificial. De hecho, si vienes de ese curso de Inteligencia
Artificial que ya habrá en el futuro, Te felicito. Bueno, bueno, empezando por lo básico. Nunca está de más tener bases sólidas. Entonces te será más difícil caer. También podemos usarlo para el desarrollo
de software. Es decir, podemos desarrollar software como
tal. Esto es simple. Podemos programar, por ejemplo,
gadgets como el Rapper y el Arduino. Crear programas de gestión, no muchas otras
cosas más. Las empresas que utilizaron Python para casi todo su
desarrollo fueron Pinterest, Panda 3D, Dropbox, Spotify, Netflix, Uber,
Google, Microsoft, YouTube.

Y bueno, podría seguir nominando una lista muy
larga. También se utiliza para pruebas de software
de automatización. Esto es básicamente para probar el control de calidad.
En otras palabras, pruebas funcionales y ver si un programa
funciona. No vamos a entrar en tantos detalles, pero es
eso. Es para comprobar que todo está bien digamos.
Todo funciona. También puedes desarrollar juegos. Sí,
señor. Aunque no es el mejor lenguaje para desarrollar juegos,
es decir, no es lo mejor para desarrollar juegos,
sí se puede. De hecho, tenemos bibliotecas para eso, como
por ejemplo Pygame.

Y podemos crear juegos como, por ejemplo, Battlefield 2.
Battlefield 2 se creó con Python. Resumen, Python se puede usar para todo
o para casi todo. De hecho, hay casos en los que no podemos utilizarlo.
Lo único que no podemos usar
Python es, por ejemplo, para acceder a los registros de hardware,
¿para qué queremos eso? Cuando trabajamos con Python, ya que el propósito
de Python no va por ese camino. No se pueden crear controladores de dispositivos. Quiero decir, no podemos, no podemos crear controladores,
digamos. Y una tontería de muy bajo nivel. Dar instrucciones a microcontroladores y
ese tipo de cosas específicas. Que aunque hay un camino, es como el que
no es nativo, pero se puede. Pero no es nativo, por lo que técnicamente
solo con Python no. Pero son cosas que realmente no nos interesan. Quiero decir, realmente no creo eso a menos que
uses para programar tarjetas de video o programar microcontroladores,
etc. No creo que lo necesiten. En definitiva sí, con Python podemos hacer
de todo.

No vamos a decir casi todo, porque es como limitar
un idioma con un casi que en realidad lo es absolutamente
todo. Entonces sí, Python puede hacer todo. Todo lo demás excepto esas cosas, Python lo podrá
usar para todo. Incluso para hackear se puede utilizar. Sí, para hackear. Sí señores, así es. útil
es el lenguaje. Bueno, no por nada es el top 1 y uno de los más
importantes del mundo, ¿no? Bueno, la verdad es que la gente a la que le gusta
la historia me matará, pero nunca. Estaba realmente interesado en la historia
de este tipo de cosas, a menos que afecten de alguna manera el rendimiento que tenemos, ¿verdad? Es decir, si de alguna manera me afecta como desarrollador,
genial, pero normalmente Eso no pasa. Pero como es un curso completo tengo que
explicárselos porque no está mal, y esto Es una historia como… que aporta, entonces
te la cuento muy rápido, es muy rápido, muy rápido y muy corto.

Guido Van Rossum, el creador de Python. Publicó la primera versión de Python, la 0.9.0,
en 1991. Ya incluía algunos tipos de datos y, bueno, funciones
para manejar errores, ¿no? Su filosofía desde el primer momento siempre fue
la misma, y ​​fue crear un lenguaje de programación. que es muy fácil de aprender, de entender y
de escribir, pero sin eso precisamente frenar su potencial para hacer cualquier
tipo de cosas. Normalmente, para que un idioma tenga todas
estas características pierde mucho potencial, pero Guido logró que Python no fuera así,
o sea, podemos usar de todo y es un lenguaje muy poderoso.

Python 1 fue lanzado en 1994 con nuevas características
como, por ejemplo, procesar listas de datos de forma sencilla, como asignación, filtrado
y reducción, es decir, potencia filtrar, poder reducir e incluso poder asignar. Python 2 se lanzó el 16 de octubre de 2000. Con,
bueno, nuevas funciones útiles. para programadores, como el soporte
para caracteres Unicode, ¿Cuáles son estos personajes que estamos viendo
aquí, y formas más cortas, por ejemplo, de recorrer una lista, que es un tipo de datos
que veremos más adelante. Python se lanzó el 3 de diciembre de 2008. 3, incluidas
nuevas características como, para ejemplo, la función de impresión, es
decir, poder imprimir cosas, y más soporte para División de números y manejo de errores. Posteriormente, con el avance del tiempo, fueron
sacando las diferentes versiones de Python. Python 3.6, 3.7, 3.8, 3.11, por ejemplo, y estaban
saliendo Se dice que Python 4 nunca saldrá, siempre
habrá diferentes versiones de Python 3, Python 3 apuntan algo, pero Python
4, obviamente, nunca saldrá. Para mí saldrá un Python 4. Pero ahora, probablemente tengamos

Las últimas versiones, 3.8, 3.9, 3.11, 3.2
y demás son básicamente, digamos, correcciones a los problemas que tienen, corrigen los errores,
optimizan el lenguaje para hacerlo más útil, incluso más rápido y otros, y están dando retoques,
digamos.

De hecho, en este curso vamos a ver todo esto y
mucho más. Veamos las formas actualizadas de trabajar
con Python, incluidas las últimas más reciente. Como te dije, no puedes estar en un mejor
lugar para aprender Python. Ahora si, dejemos de parloteo, basta de
hablar, ya vimos la parte digamos teórica. Por ahora, instalemos Python y comencemos. Bien, ahora comencemos con lo importante. que
es ir al código de una vez por todas, pero Antes de pasar al código, tenemos que instalar Python,
así que instalemos Python. Aquí creé un usuario específico de Windows
y lo dejé todo muy limpio para que podamos hacer todo bien paso a paso, que me sigan y haciendo
todos los cursos. Entonces voy a abrir Chrome, observe que incluso
creé una cuenta personalizada. Voy a buscar descargar Python y aquí tengo Python.
Es la primera página que salta, si miras ahora ves, es la primera página que
salta, literalmente es la primera que saltar.

Entran allí y aquí van a decir Descargar Python
y la versión. ustedes descarguen el último versión. De hecho, lo que hace es detectar
automáticamente el sistema operativo en el eso se encuentran y bueno hace mucho más
fácil todo porque digamos que simplifica dándonos, si es para Linux, Linux, si es para Mac, Mac, Ahora
es para Windows, así que descargamos pitón para Ventanas. Allí, haz clic. No, bolude, nos bajamos de
este expediente y efectivamente no voy a decir No Lo descargo porque ya lo tengo, pero lo voy a descargar
contigo, porque literalmente I creas tu usuario para eso. Así no hago lo clásico
para decir, bueno no lo descargo porque Ya lo tengo. Antes de dejarlo, estoy sudando de alguna manera,
son casi las dos de la mañana, hace calor, hermano, un calor, 35 grados en Argentina.
Estamos a temperatura argentina hoy, mire, 34 grados hasta ahora, 34 grados, humedad 54%,
que es una locura, no puedo dejar de sudar. Entonces si son en invierno o tienen aire acondicionado o algo
así, toma tu café, tómate tu café, disfrútalo con calma. Ahora si, vamos
a continuar. Abrimos Python, una tontería, y le damos Instalar ahora, y sí, también lo instalaré.

Vamos,
el primero que diga eso también. instálalo contigo. Mientras instalo python
quiero decirte que no se si pudiste arreglar eso la escena es literalmente un poco diferente y
es porque, bueno, quiero que nos concentremos en esto, luego nada, como que golpeé una luz
más fuerte de frente y la lateralicé para Pégame desde 45 grados para que, bueno, pueda ser
más dramático todo, ¿no? Porque necesito Mira allá, luego desde donde veo, que le doy a la luz.
Mis preguntas, tontas. bien ahí establecido pitón. Lo cerramos, una boludez, ya está.
Literalmente ya instalamos Python, así fácil instalamos python. entonces podemos cerrarlo
y ahora vamos a buscar Python, aquí tenemos pitón, y ahora podemos interactuar con Python. Ahora
vamos a decir comillas, hola, hola, listo, eso es todo. De de esa manera podemos explicar qué funciona
y que ya estamos con Python. ahora vamos a poner 1 más 1, nos dice 2, bien.

Bueno, esto está aquí
básicamente es para dar instrucción por instrucción. a pitón. Aquí literalmente tenemos una consola
de comandos, tal como la tiene CMD, vieron Sí ponemos Windows, por ejemplo, podemos movernos
por la carpeta, podemos por ejemplo poner, Si pongo aquí Salir, por ejemplo, ven, déjame cerrar
el CMD. Si pongo Exit aquí también en pitón, no pasa nada. ¿Por qué? porque son intérpretes diferentes.
Una cosa es el CMD de Windows, otra cosa es pitón. Python tiene su propio intérprete.
¿Recuerdas que te dije que Python tenía a ¿intérprete? ¿Era un lenguaje interpretado? Bueno,
esta es la consola de Python que está corrida de esta forma. Es decir, este no es el intérprete como
tal, sino que es la consola la que, digamos, es responsable directamente al intérprete pasar la instrucción por instrucción.
Así que ahora si pongo Salida, la función y se cierra.

Ahí está, vuelve
a abrirlo para tenerlo limpio. y aquí estamos trabajando con pitón. literalmente podemos
decirte, como te acabo de mostrar, 4 veces 8 y el nos va a dar resultado. Podemos decir 10 más 5 y vamos
a decir 15. Tonterías. Pero que Y si nos ¿Tuvimos que hacer muchas cosas? Muchas
instrucciones. Por ejemplo, lo que les dije antes, A es igual a 2, B es igual a 3, C es igual a A más B. Y ahora te digo,
muéstrame C. ¿Qué me vas a mostrar? Un error, porque lo puse en mayúscula. Volvamos. Imprime
C minúscula. Allí dice 5. Porque a es igual a 2, B es igual a 3, A más B es igual a 5. Entonces,
si le digo que me muestre C, me muestra C. realmente es disparates. Hasta ahora estamos todos bien.
Pero, de nuevo, ¿y si quisiéramos hacer programas ¿complejo? Con programas complejos
podemos escribir o poner todo este. No tiene sentido. Entras a un programa hecho
en Python y el programa se abre solo. Tú ellos no tienen para abrir la consola y ejecutar
un programa Python. No. Abra el programa en el juego .exe o ahora en el programa.ud y abre solo el programa
y se ejecuta automáticamente.

Entonces, ¿Cómo hacemos esto? Bueno, esto se debe a que no
escribimos el código aquí. Nosotros escribimos el código en algo llamado editor de código, que básicamente es un
programa en el que podemos escribir todos código Python y luego ejecutarlo
todo al mismo tiempo y no tenemos que hacer linea por línea. No hay ningún desarrollador que utilice
esto para programar. No existe. En realidad no existe, porque no hay manera. No se puede. Entonces lo que hacemos
es utilizar un editor de código. Entonces vamos a descargarlo. Cerremos este
Python. Volvamos a Chrome y vamos a mirar Código de estudio visual. Finalmente descargué Visual
Studio Code porque en cursos anteriores usado Sublime porque Visual Studio Code pesaba un
poquito para lo que era, por ejemplo, un cuaderno del gobierno de los niños. por lo que no se
pudo descargar todo Visual Studio Code y eso tú fluye completamente bien. Pero hoy
en día ya es muy óptimo. Es excelente. Los requisitos del ordenadores que van más arriba, ya que
es un requisito mínimo para instalar Visual Studio Código. Entonces ahí lo instalamos. Lo mismo, entramos a la página
oficial.

Demasiado fácil. nosotros buscamos estudio visual Código, hacemos clic, simple. Le damos instalación
para Windows. Lo mismo, instalar. sí voy a instalar también. Todo lo que instales
contigo, yo lo instalaré contigo. Allá se esta descargando aquí. Lo abrimos. Acepto el acuerdo y por supuesto,
si no me dejas tampoco me das muchas opciones. Siguiente siguiente. Crearé un acceso directamente
en el escritorio, ¿por qué no? Próximo, Próximo. Hay. Ahí es donde termina la descarga.
Listo. Ahí terminamos. damos acabado Y se abre automáticamente. Usemos Echo
en Google y aquí tenemos esto completo. Está bien, Aquí podemos elegir qué tema queremos. Sí queremos
contrastada, ligera, otra versión. de luz u oscuridad. Vamos a utilizar el que viene perfecto, que es
oscuro, sencillo. Y antes de empezar a crear un par de Proyectos.

Entonces vayamos a la parte
de extensiones y aquí vamos a mirar primero. pitón. Primero buscamos Python aquí arriba y nos
vamos a saltar esta extensión, que es para poder correr Python desde aquí. Entonces lo instalamos
y podremos hacerlo funcionar desde aquí. No vamos a tener que andar haciendo que todo el código se ejecute
por separado aquí. Con esto podemos correr para hacer como una especie de demostración
de lo que será nuestro programa.

Escribimos el código y nosotros muestre una demostración de nuestro programa
a continuación en la consola. Nos instalamos como intérprete. de Python a continuación. Ahí estamos, ya lo instalamos.
Ahora vamos a instalar Prettier. Esto es básicamente para formatear el código, de modo que
por ejemplo, nos dé algunas cosas de un color, otras cosas de otro color, para que tenga un formato como debe
ser. Allí lo instalamos. y luego por último vamos Instale la sangría de Python, que consiste en sangrar
el código de Python. ¿Recuerdas cómo les he dicho que ¿Funcionó la sangría de Python? Básicamente
todo nos cabe en su lugar. Ahí ves como obras. Escribimos algo y automáticamente lo
identificamos como debe porque así funciona pitón.

Este por defecto funciona en Visual Studio Code
con el Prettier, pero no importa y de todos modos forma Vamos a hacer que esto funcione bien porque queremos
tener un código con sangría. Entonces Para evitar problemas recomiendo instalarlo porque
nos identifica automáticamente para que Funciona en Python. Así que ahora lo
cerramos y ahora solo les damos la explorador, como estábamos al principio, y le vamos a dar Carpeta
Abierta. Pero primero vamos a tomar uno. carpeta en el escritorio. Así que voy a acercarme al escritorio
y darle… Bueno, vamos a poner esto aquí, al lado voy a abrir todo. Allí va. Aquí
en el medio voy a crear uno nuevo. aglutinante. Nueva carpeta. Curso de Dalto Python. Voy
a ponerlo bien Dalto, muy grande. y esto sera la carpeta en el que vamos a trabajar. Entonces voy a
esta carpeta, la arrastro y la traigo aquí.

Aquí lo tengo abierto. Aquí te damos confianza en los autores
y le damos el Sí. Confío en los autores. Es decir, En mi mismo. Y aquí tenemos la carpeta. Muy simple, lo VERDADERO.
Muy simple. Y finalmente, si te fijas, yo aquí para Por ejemplo, crearé un nuevo archivo. Digámoslo
holamundo.py. Creemos un archivo. Este es él primer archivo que tenemos de todos los archivos.
Aquí tenemos el primer archivo. y es importante el .py porque así como una imagen es.png,.jpg, un
video es.mp4,.wav,.avi, un audio, perdón, es.wav,.mp3. El formato de Python es .py. Para eso
es importante que usted en el archivo poner .py. Y si no entiendes esto, intenta siempre encontrar
una manera de ver el formato del archivos. En este caso es.py. si aqui de
repente pongo print helloworld, si corro, puedes presionar F5 si lo deseas. aquí abajo
I En realidad dice hola mundo. si yo por ejemplo aquí Le digo imprima 2 más 2 y de repente le doy F5,
aquí abajo me dirá 4.

El resultado de 2 más 2. Aquí ya estamos ejecutando y haciendo Python funcional.
Simple como eso. Ahí va, si tu escribe claro, por ejemplo, pon cualquier
cosa, ¿no? Cualquier cosa. y luego ponen claro, La consola se limpia sola. Simple. Felicitaciones,
ya hicieron su primer helloworld en Python. Ya escribieron código, eso es todo. Está bien,
hagámoslo una vez más. Hola Mundo, Gracias Dalto por enseñarme Python. y vamos
a presionar F5. Hay. Hola Mundo, Gracias Dalto por enseñarme Python. Listo,
espectacular. Te felicito si hiciste esto, Te felicito de nuevo. Déjame un comentario mostrándome
cómo te sientes en este momento.

Extraño. Pero quieren ser programadores, ¿verdad? Bueno, está
bien. Ahora que tenemos esto listo, ahora que ya Ya tenemos todo terminado, quiero que comencemos con
los primeros conceptos de python, ¿vale? Porque si, podemos hablar de conceptos de programación,
Fundamentos de Programación. Pero que sucede es que Python, por ejemplo, tiene sus propios conceptos
de programación, digamos, implementados. Como les dije antes, la programación orientada
a objetos, tenemos variables, tenemos bucles, tenemos condiciones, tenemos funciones. Todas
estas son cosas que vamos a ver.

Son conceptos de programación, pero son conceptos que implementa
Python. Por eso te digo que vamos Veamos los conceptos de Python. Es decir, son conceptos. programación,
pero están en Python. Entonces Al final de esta sección, les doy la bienvenida
oficial a la parte del código. de Pitón. Ahora veamos el código desde cero y
aquí comienza el verdadero curso. Empecemos con el conceptos básicos. Para empezar, sabes que existen tipos de datos,
¿verdad? Simple. Tipo de datos. Un número, por ejemplo, es un tipo de datos. Un texto es otro tipo de datos.

¿Por qué? Porque ya puedo multiplicar un
número por 3. 3 por 3, 9. 4 por 4, 16. 5 más 5, 10. Son números que se pueden operar. Por otro lado, si los números fueran textos, 5 más 5 serían 55. 10 por 3 sería 10, 10, 10. Entonces tenemos que encontrar una manera
de multiplicar números. y no como letras. 10 por 3 no es 10, 10, 10. Son 30. Por eso tenemos tipos de datos. Esto nos permite entender cuáles son las diferentes,
Digamos, entradas que le vamos a dar al programa, cuales son los diferentes datos que van a manejar.
Tenemos cuatro tipos de datos simples. ¿Cuáles son los solteros? Son datos simples. Luego tenemos datos compuestos, pero eso lo veremos
más adelante.

Sencillo tenemos cuatro. Entonces empecemos. Primero que nada quiero que creemos una nueva
carpeta. Vamos a la nueva carpeta y vamos a poner tipos de
datos. Y aquí lo vamos a poner aquí, lo vamos a mover
aquí y vamos a cambiarle el nombre. Pongámosle tipos de datos .Py Ahí estamos. El primer tipo de datos que tiene Python es el texto.
El primer tipo de datos simple, texto. ¿Cómo está escrito el texto? Bueno, para escribir un tipo de datos que sea
texto, Usamos comillas, comillas simples o
comillas triples. Ahora vamos a ver bien para qué sirve cada cosa, cuáles son los casos, etc. Pero mostrémosles, ¿vale? Mostrémosles. Las cuerdas son… Voy a aumentar un poco la letra al principio para
que se vea bien. Luego lo reduzco, pero al principio lo voy a hacer
un poquito más grande. para que puedas verlo. Esto es una cuerda, ¿vale? Se llama cuerda. Texto, el tipo de datos que es texto, le permite decir
cadena, ¿Qué significa cadena y proviene de cadena de texto?
Porque si tenemos por ejemplo un solo carácter, es
una cadena Muchos caracteres son texto, es decir, cadenas
de texto.

Entonces podemos escribir una cadena. Entonces también podemos escribir una cadena. Y luego podemos hacerlo triple, con comillas triples.
Es decir, así o, por ejemplo, así. Estas son formas válidas de decirle al programa ese tipo de datos es un texto. ¿Cuál es la diferencia entre esto y esto? Bueno, los comunes no podemos hacer
esto, por ejemplo. ¿Verás? No podemos hacer esto porque está mal. Tiene que estar en una sola línea. Es decir, si estamos escribiendo texto en una
sola línea, tenemos que usar estos que son los más simples, los
más simples. Comillas dobles, comillas simples. Si queremos por ejemplo decir tus datos son
dos puntos y abajo sigue escribiendo, por ejemplo, no HE,
nombre, lucas, apellido, dalto, no podemos.

Tenga en cuenta que mi color cambia. ¿Por qué? Porque me está diciendo, che, esto no es texto,
el texto va en naranja. El texto aquí es naranja. Así que aquí alguien me está exprimiendo
el olor, no tiene sentido. ¿Cómo podemos hacer este tipo de cosas?
Simple. Bueno aquí les voy a dejar un hilo para que no se nos
olvide En este caso, aquí voy a reemplazarlo y pegarlo.

Sí, podemos hacerlo, ¿vale? Si conoce JavaScript, es como las comillas invertidas
en JavaScript. Entonces podemos, por ejemplo, venir y poner
esto que es siempre, tus datos están y aquí tenemos esto. Entonces esto es válido. Esto el programa nos lo permite y también nos
lo permite aquí. Mira, lo pego y ahí lo tenemos. Esto es válido. ¿Por qué es válido? Porque nos permite escribir varias líneas. Aquí empieza y aquí termina. Es decir, mira, la cuerda empieza aquí
y termina aquí. Pero no podemos hacer saltos de línea,
o sea, no podemos bajar y dejar un espacio. Aquí sí, aquí podemos dejar, por ejemplo, uno, dos,
tres y así sucesivamente. Ningún problema. Esta es la limitación que tenemos, ¿no? Entonces es importante. De hecho, te lo vamos a dejar así. Visítalo.
¿Cuál es lo complejo o lo simple? Eso es texto.
Luego tenemos otro tipo de datos que son los números
de tipo de datos.

Tenemos los números, pero en Python tenemos dos
tipos de números. No son números comunes, son dos tipos de números.
El primer tipo de número que es int, que son
números enteros. 2, 4, 5, 20, 527, 455, enteros. Números que no tienen coma, enteros, redondos. Y luego tenemos los floats, que en inglés es
float o float. Son números con coma, simples, con coma. Por ejemplo, este es un número entero. Esto, en este caso, es un punto escrito. En lugar de coma se escribe punto.

Si nos referimos a 4,4, es 4,4. Os lo aclaro a los dos. Entonces este es un número entero, este
es un número flotante. Entonces, si yo, por ejemplo, quisiera que le
pasara un número entero 40, le paso un número entero 40. Si te pasara un número entero 40.2, en este caso es 40.2,
esto es flotante. Este es un número entero, un int, int de integrar,
completamente Este es un número flotante, flotante, flotante. Y luego, además de eso, no olvides que
estos son dos tipos de datos diferentes, por si acaso No es que sean dos números. Sí, son dos números, pero no son dos números enteros. Un tipo de datos es int, otro tipo de datos
es flotante. Eso es importante resaltar. Y luego tenemos el otro tipo de datos simple, que
es booleano. Simple, booleano, verdadero o falso. Es decir, es algo que se divide en dos, sólo que
es algo que es dos, dos posibilidades. Una es verdadera, la otra es falsa. Son las dos posibilidades del booleano. En Python los escribimos con mayúscula, False o
True.

Si queremos escribir algo en Python, la primera letra
está en mayúscula. Por ejemplo, puedes ver que puse false con minúsculas,
no lo tomé. Es porque está en mayúscula, falso. Allí me llevó de azul. Esta es una palabra que ya es cierta. Este es un tipo de datos booleano. Entonces, falso son datos booleanos y verdadero
son otros datos booleanos. Tenemos este tipo de datos. Entonces tenemos cadenas, que son cadenas de
texto, enteros, int, enteros, números. entero. Números flotantes, flotantes, flotantes. Y los booleanos, los valores booleanos, digamos, son datos
booleanos. Verdadero o falso. Esto sirve para mañana para decirle, mira,
si se cumple esta condición, ejecútame. este código. Sí No No. Por ejemplo, si son antes de las 7 de la mañana, haz
esto. ¿Cómo lo hacemos? ¿Como la conocemos? Bueno, si eso es cierto, si esto es cierto,
ejecutamos. Si esto es falso, no. Es un ejemplo, ¿verdad? Pero ayuda mucho. Estos datos son muy comunes y veremos para
qué los vamos a utilizar. Porque tú, los números entiendes para
qué usarlos. Los números, ya sean flotantes o enteros. El texto también entiende para qué usarlo.

Entienden que aquí lo usan para cosas sencillas.
Usan esto para, digamos, cosas adicionales de una
línea. Podemos multiplicar números, etc. Flotadores también. ¿Pero para qué usamos esto? Bueno, ya veremos. Pero tienen que entender que son dos tipos de datos
más. Lo sentimos, es un tipo de datos más que solo
tiene dos posibilidades. Verdadero o falso. Nada mas. Bueno, a este archivo le puse simpledata.py. Lo reemplacé. En lugar de ser datos compuestos, los pongo simples.
Ahora lo que vamos a ver, básicamente, serán
las variables. Porque antes de mirar los datos complejos, para entender
bien los datos complejos tenemos que utilizar variables. Entonces veamos qué son las variables.

Ok, las variables las vamos a crear de hecho aquí
otra carpeta que serán variables ya que vamos a crear un archivo que sea de variables
simple como te dije antes variables si son fijas y esto es interesante
si prestas atención y escribes mucho código y de repente no
aparece ni aparece nada el formato python pone true y no los cambia
nada usa comillas y no salta en naranja como deberian saltar
bien lo que pasa es que con el no es asi formato python luego le doy renombrar y le
agrego el punto py y ahora si lo se ven a agregarme esto las comillas agrégame el texto
en naranja así que ahora ok ok ahora sí las variables básicamente
son espacios que almacenados en la memoria de nuestro programa
porque los datos que Tenemos que reutilizarlos, es decir, cualquier dato
que reutilicemos. Lo hice antes y se dan cuenta que puse lo mismo 2 b es
igual a 3 c es igual a más b lo que hay aquí son variables tenemos
una variable otra variable y otra variable porque aquí porque es una variable porque
esto puede variar simple eso está aquí en lugar de ser 2 puede ser 5 esto
puede ser 8 ok, entonces es simple Yo por ejemplo ejecuto esto que está aquí
le digo print c y lo ejecuto con f5 aquí se va a ejecutar 13 pero si de repente
cambio el 5 por un 15 cuando f5 no será 13 será 23 porque 15 más
8 vienen 15 más 8 es 23 de hecho puedo hacer esto puedo por ejemplo
Poner el mismo nombre Lucas Dalto y cuando digo muéstrame el nombre muéstrame por
nombre de pantalla sí corro me dice que el nombre lucas dalto
y si borro el dalto el dalto queda que el nombre cuando el
de f5 es lucas porque es un variable le estamos pidiendo que muestre una única
cosa, entonces de esta manera por ejemplo podemos decirte que mires el nombre del
usuario con el que registrado era tal y llamamos datos a una base de datos,
entonces la base de datos cambiar si el usuario pone dalto es dalto
si el usuario pone pepito es pepito Entonces esas son las variables para almacenar
información que es útil.

Entonces en este caso también podemos poner
números por ejemplo 40 mostramos 40 puedo poner 40 mas 20 lo
que ejecutamos me da 60 se puede operar aquí también entonces esas son las
variables no ahora bien si tenemos que hablar sobre conceptos las variables se declaran cuando
hago este mismo nombre y ahí les dejo esto por ejemplo pongo a Lucas aquí estoy
declarando una variable y aquí lo estoy definiendo se declaran las variables
y se definen le dije al programa Voy a crear una variable que se va a llamar nombre
y aquí les digo che mira esa variable que ya declaré va a tener el valor
de lucas aquí estoy definiendo estos son conceptos para que vayamos
teniendo las variables declarar y luego definir y luego también
podemos modificarlo si ejemplo aqui le pongo el mismo nombre Lucas
si lo ejecuto como les dije, sera muéstrale a lucas pero si bajo vengo y pongo no
ahora el nombre no está mal Lucas ahora el nombre es dalto aunque sea apellido
el nombre es dalto si Lo ejecuto me dice dalto y si pongo aquí abajo digo
que no el nombre es ninguno lucas ni dalto el nombre es pedrito al
actualizar me dice pedro porque las variables son modificables, las
variables comunes se pueden modificar el nombre puede ser igual a lucas y después
en la siguiente línea en este caso estamos redefiniendo la variable porque declarada
ya está declarada ok la variable ya fue declarada y ya la declaramos la declaramos
solo una vez entonces lo estamos redefiniendo y miramos que la variable
tiene el mismo nombre pero ahora no Va a ser más igual que Lucas, va a ser igual a dalto
y en la tercera línea.

Decimos y ahora ya no será lo mismo un dalto
ahora va a ser lo mismo que pedrito entonces estamos redefiniendo porque no te decimos que
el programa tendrá un variable llamada nombre porque ya lo dijimos antes
de que saque la primera cuenta otras son definiciones si primero pueden
poner una cosa y luego otra no Necesitan poner un nombre 1 el mismo nombre de Lucas 2
igual dalto no puede ser modificar y poder caminar en
el tiempo, por ejemplo, pongo ahora por ejemplo pongo numero numero igual a 10 ya que les voy a mostrar mi numero
y le doy f5 aqui me mostrara 10 Entonces puedo decirte un número igual
a 10 más 1 y ahora me va a mostrar 11 pero hay otras formas de hacer esto en lugar de hacer de
esta manera una muy común es decir que se ve más igual 1 y ahí
si miras cuando le doy f5 me dice 11 tambien porque porque el mas adelante
igual significa che mire el valor que ya tiene más que lo que es después
igual si el valor de antes era 10 es 10 mas 1 nos da 11 le pongo
5 y corro me da 15 porque es 10 mas 15 bajo por ejemplo pongo numero mas
igual 3 mas facil otro 5 5 cuando corro me dará 20
porque 10 más 5 es igual a 15 y entonces 15 más 5 es igual a 20 entonces es
bueno que empecemos también podemos armar tambien podemos retar ya que
pongo mas a poner menos y cuando la actualización me da 10 porque porque 10 más 5 15
menos 5 10 atrás después de algo llamado concatenación concatenar es una palabra
que usamos cuando queremos referirnos a que unen dos
cadenas yo uno esto con esto pero no decimos unir decimos concatenar porque solo
de las cadenas cadenas las concatenamos entonces es concatenar
las juntamos y si de repente hice esto no digo por ejemplo nombre
o voy a decir bienvenido no bienvenido es lo mismo que hola y aquí quiero decir
el nombre hola lucas o qué cualquiera que sea el nombre, por ejemplo, vine
a poner nombre igual algo no nombre igual lucas hola lucas ¿cómo estás? como hago para
hacer esto? bueno podemos hacer dos cosas podemos decir por ejemplo hola más nombre más
¿cómo estás? ¿cómo estás? si lo mostramos le daremos la bienvenida para que
nos muestre bienvenido si le damos a correr con f5 hola lucas como
estas pero aquí si nos miran muestra todo junto porque debido a que cada carácter cuenta,
el espacio es otro personaje así que es importante ponerlo y aquí
también el espacio es diferente personaje entonces ahora si actualizamos
y reproducimos y volvemos al El programa aquí está funcionando ahora
si de repente pongo Hola aquí.

Mario también nos tira este hola mario como
vas cambiando depende de lo que ponemos entonces el usuario
tiene otro nombre nos dirá nombre de usuario por ejemplo y esto como
le dije pueden ser comillas simples comillas dobles comillas triples esto puede ser
lo que sea actualizado y yo Todavía funciona sin problemas, pero
esto no es muy útil porque a veces cuando tenemos digamos números y otros así, realmente
somos nosotros complica y no es óptimo entonces
si esto, por ejemplo, no fuera Se un 5 si lo actualizamos nos da error porque
es de tipo numérico Entonces, ¿qué sucede aquí? ¿Cómo podríamos concatenar
5 y otros bien primero? dejemos a mario ahi esta funcionando vamos
a darle abajo en la consola vamos a déjalo claro para que se limpie y la otra forma es usando
el llamado formato .formato .format pero no vamos a usar formato porque
está muy muy rancio formato así que vamos a usar el que yo
uso que es dejar el espacio las citas estan completas hola como estas y
aqui vamos a poner claves claves simples y aquí le ponemos un nombre así que si miras
actualizo f5 y f5 y f5 y siempre Recibo el mismo hola nombre ¿Cómo estás?
De hecho, hay un buen error.

Lo que pasa es que esto se llama cadenas f es
decir, son las cadenas f para concatenar de esta manera simplemente agregamos
un def adelante y ahora Observe cómo cambio el color. Se actualizó. Ahora
funciona. Hola Mario. como estas y si hay de repente en lugar de poner
mario le pongo un 5 se actualizo ahora no me tira error y lo concatena y ahora
se volvió el 5 texto porque porque esto lo que hace es incluso si
pongo verdadero o falso o lo que que este actualizado y me dice hola verdad como
estas porque esto lo que hace es tomar un dato y convertirlo en texto así de simple
si le damos un dato booleano se convierte a texto si le damos un dato numérico
convierte todo a texto se convierte a texto por eso uso esto.
Lo uso normalmente no no Siempre uso esto porque sé que a veces puedes
generarme algunos problema con números y esta es la mejor manera
de integrar un número en python antes digamos que usar los porcentajes para
concatenar era muy feo la verdad ya que python 3.6 en las cadenas f estan
disponibles en javascript también puede ser y está haciendo
esto en javascript hacemos esto sin agregar el fy funciona y es válido en
python no en python funciona entonces simplemente agregamos la f
delante de los datos porque los datos son un dato de tipo texto luego delante del texto agregamos
la f, así de simple para hacer esto la verdad que es muy facil recomiendo
hacerlo de esta manera entonces si quisiéramos hacer una variable
no sea más declarada simplemente usamos el operador de bienvenida
por ejemplo y ahí actualizamos nos dice que miren la verdad que bienvenido
no esta definido eso no esta nunca definimos bienvenido es decir es un dato
es un error nos tiene un error de programa porque no esta definida
la variable porque porque la eliminamos con del es un operador para eliminar datos que
también podemos informarle por ejemplo guardar nombre pero si actualizo con f5
dice hola cierto ¿cómo estás? ¿Qué fue esto si eliminé el nombre? ¿Por
qué me dice verdad si el nombre? Lo borre, bueno me dice porque el nombre lo borre
despues de declarar bienvenido bienvenido será igual a esto y luego aquí
automáticamente cuando Dijimos esto ya se ha vuelto y esto se ha vuelto
en esto ya es para que Eliminé el nombre, la variable está en la
lista, entonces nada cambia si hagamos antes y pongamos el antes
ahora me da error por qué porque todavía no pudimos crear la bienvenida, así que
lo que hacemos es dejémoslo y ahora si lo ponemos debajo
cuando lo actualicemos allí A mi me sigue funcionando actualizamos y me sigue funcionando
hola verdad como estas es un operador interesante con este con este operador
eliminamos datos que están almacenados en la memoria los borramos posteriormente
de las variables también por Por ejemplo, lo que podemos hacer es membresía
de operadores y operadores.

De identidad yo, por ejemplo, pongo yo che muéstrame
hola, bienvenido, ¿no? si yo Le doy f5 y me dirá que esto es cierto porque este
pequeño fragmento de texto Él está aquí si le decimos que me busque este
texto aquí me lo encuentra porque es aqui esto que esta aqui es literalmente esto
le dije que me buscara por ejemplo Pedro no me lo va a encontrar entonces
le doy f5 y me dice falso porque porque no lo es y si yo digo no en y actualize me lo busca porque es
verdad que che pedro no esta bienvenido no y si esto es cierto esto automáticamente
se vuelve cierto si esto no esta aqui y es verdad pedro
no esta y lo pongo aqui por ejemplo hola con h mayúscula y update me dice
que es falso porque pues si es hola no de nada si lo eres entonces dime falso
porque lo que soy es mentira diciendo que es mentira le digo con minuscula hasta
me dice verdad porque por que hola no este pero como si estuviera aquí no porque
este es hola con minúscula y este con mayúscula es un El lenguaje que distingue entre mayúsculas y minúsculas, como te dije, distingue entre mayúsculas
y minúsculas.

Son un El tipo de carácter en minúscula es otro
tipo de carácter completamente diferente. estos son nosotros, los operadores de membresía, queremos
ver si esto pertenece a esto, de hecho, es una forma interesante porque yo por ejemplo elijo mira
la verdad el nombre es mario por ejemplo Estoy buscando a Mario aquí, no, así que actualizo
y me dice falso porque mario no es bienvenido.

Es falso porque si soy, por ejemplo, che mario che
mario es bienvenido si estás aquí este Esto es lo que hay aquí y es Lucas en la actualización
de bienvenida, no, no es Lucas, no. veamos vamos dale lucas ok ahora si me dice que es así
como esto funciona que hay muy simple que somos viendo ahora muy muy básico si no entendiste échale
un vistazo pero hasta ahora eso es todo muy sencillo te voy a dejar notas para
que vayas teniendo todo lo que vamos haciendo ok anotaciones en python las anotaciones que
podemos hacer con este signo que es el hashtag el gato la barra no es la barra es el hashtag es
la tendencia y aquí ponemos por ejemplo operadores de pertenecer y no y esto que está
aquí es algo que el programa no me interpreta eso es el El comentario es algo que solo el desarrollador puede
ver, solo yo puedo verlo si escribo Esto de aqui es algo que solo para mi puedo
ver si vamos a cualquier web por ejemplo entramos a google veamos que google tiene comentarios por
ejemplo esto que esta aqui en html es a comentario mira esto que esta aqui esto no
aparece porque es un comentario ven si vamos para darlo editas html este es un comentario
bueno existe lo mismo en los idiomas que no podemos ver como el python que esta aqui
es solo un comentario esto en realidad sí eso Ejecuto con f5 no me lo interpreta me dice verdadero
y no hace nada más que eso porque porque es algo que solo leemos y que el interprete
python no lo toma en cuenta no ejecuta es algo al desarrollador para que cuando el desarrollador
lo vea lo entienda, esto es muy Común porque cuando tenemos supercódigo largo
es bueno para documentar la escritura.

Y escribiendo lo que hace cada parte del código no, entonces
quiero levantar esto no imprimir lucas no en bienvenido entonces esto me dará
falso falso y esto me dará los operadores el los operadores nos dan verdadero o falso este tipo
de operadores ok los operadores de membresía da verdadero o falso simple entonces levantemos
esto que esta aqui lo vamos a quitar vamos a déjalo abajo y esto es lo que vamos a llamar
concatenar concatenar con cadenas f ahí está, pongamos concatenar con más y
debajo pongamos puede ser bienvenido igual hola espacio más espacio cómo estás entonces
dejemos esto al revés ahora si mucho mejor y este otro espacio aquí lo ponemos definiendo
una variable y ahí tenemos todo el código comentó definiendo la variable la definimos concatenar
con más concatenamos concatenar con f cadenas los concatenamos operadores de membresía
ok, son estos y lo mostramos en la pantalla ahora es sencillo ahí es así de simple entonces si ejecutamos
con f5 devuelve verdadero y falso porque porque primero nos devuelve este lucas en bienvenido Cash
es cierto porque lucas esta aqui en bienvenido y luego nos dice que Lucas no es bienvenido
y Lucas si lo eres pues devuélvenos falso el de lo anterior es verdadero lo siguiente es falso si ejecutan
ambos recuérdamelo más tarde si me miras por ejemplo aquí podrías usar bienvenido al usuario no
usuario o cómo escribir dos letras bienvenido Le di un error al usuario bienvenido usuario
O es más fácil, mira, pongámoslo Nombre completo porque queremos decir que nos dio
un nombre completo y le ponemos lucas dalto pero esta mal entonces la forma
puede ser asi o puede ser separarlos con guiones deja esto tiene un nombre el nombre es camello sí lo
hacemos con la primera letra de cada nuevo palabra en mayúsculas se llama camel case ok, mientras que ¿qué pasa
si yo, por ejemplo, estoy definiendo una variable? con caso camello es más lo voy a poner así para que
entendamos caso camello caso camello ok es cuando Hacemos este nombre completo de tu tío maestro.
Este es el caso del camello porque porque estamos usando eso es como una joroba,
ok, caso de camello, cuanto más comienza el nombre completo tenemos 1 2 3 4 5 6 palabras el comienzo de cada
nueva palabra está en mayúscula es una forma de separarlos y poner varias palabras pero eso
sirve por ejemplo para javascript en python el La recomendación oficial que nos da Python es
no usar algo llamado caso de serpiente.

Cualquiera solo el estilo de la serpiente no se hace
con un nombre completo subrayado y ahora poder pon el maestro de tu tío, entonces esto es
definir una variable con caso de serpiente, ahí va el caso de Carmel caso de serpiente, de hecho jugué con esto porque
el caso de camello es bueno porque el primero con letras mayúsculas vienen en el nombre y aquí caso serpiente
hizo lo mismo todo en minúsculas y aquí Esta en Python como dije los mejores desarrolladores
usan Snake Case porque es precisamente el recomendación que nos da la empresa oficial de python
entonces le vamos a prestar atención más adelante ademas aqui lo vamos a dar claro y lo vamos a bajar
un poquito ahi va despues hasta aquí más o menos la primera sección de variables vamos a tener
otra sección de variables porque vamos a hacer otra Algo así con variables, pero para arrancar
esto es todo lo que necesitas saber.

En las variables son solo espacios donde
almacenamos datos, ¿vale? en una variable almacenamos un dato que es todo cada variable tiene un dato
dentro puede tener un solo dato un datos complejos ¿Cuáles son los próximos datos que vamos a ver? Ahora
bien, antes de continuar con todo esto. tenemos que vea cuáles son los datos complejos con estos datos
de Python, muchos no podemos hacer así eso debemos trabajar y comprender los tipos de datos de
cada uno, por lo que optamos por lo siguiente tipo los datos son datos complejos Es decir, se podrán canjear y todo irá
bien.

Bueno, ahora estamos con los datos complejos,
es simple. Tenemos que… de hecho aquí vieron que sí Mira,
es como el punto aquí. Bueno, este punto significa tener un error en
el código. Entonces hay un error, le doy F5 y ahí
ya… Ah, hay un error aquí, ¿ves? Nombre. No está definido. Está definido, nombre completo de tu Tío Maestro.
Actualiza y ahí está. Ahora si, si actualizo me tira Verdadero y Falso. Perfecto, ahora está más que bien. Bueno, aquí ya tenemos esto y lo podéis entender
bien. Cómpralo, ahora vamos con lo siguiente que son
datos complejos. Llegaremos a los tipos de datos, ya que son tipos
de datos, y lo incluiremos aquí, Nuevo. Archivo, y vamos a poner data-composites.py. No complejo, compuesto. ¿Por qué? porque están compuestos de otros datos.
Los datos compuestos son datos que tienen
dentro otros datos, simples.

Son datos que no… un solo dato no hace un dato complejo,
sino que son como varios datos juntos. ¿Puedes tener solo un dato? Sí, pero permiten
tener más. Ahora tenemos datos simples, estos que vimos,
variables y datos compuestos. Voy a cerrar estos dos para que nos quede solo
esto, y ahora vamos a trabajar. Los datos compuestos, explicados muy brevemente. Tal como te dije, estos son datos que en su interior tienen
datos simples u otros datos-compuestos, pero que podemos agruparlos. El primer tipo de datos es precisamente la lista, así
que creemos la primera lista. Pongamos una lista, lo mismo, y la podemos crear entre
paréntesis. Entonces tenemos una lista. Entonces, por ejemplo, puedo decirte,
mira, el primer elemento de la lista va a ser una cadena de texto.

El siguiente puede ser, por ejemplo, mi canal
de YouTube, SoyDalto. Después puede ser por ejemplo si estoy con
muchas ganas de aprender, cierto. Entonces puede ser mi altura, 185 centímetros,
o 1,85 metros, puede ser. 1,85 está bien, dejemos 1,85 metros. Y aquí tenemos una lista, porque es un conjunto de
datos. Entonces de repente le digo, che flaco,
a ver muéstrame con huella que tienes en el listo. Imprimir es precisamente una función que nos permite
mostrar lo que contiene ese valor.

Entonces si ponemos print y dentro le pasamos
algo, nos mostrará en la consola lo que Pasamos. Luego le damos print list, f5, ms che, es
una lista. Bueno, pero entonces no me estás mostrando
nada. Y por supuesto, como es una lista con a, es a. El tipo de datos es lista, como te dije, pero es
una lista. Actualizamos y así nos muestra, mira Lucas
Dalto, soy Dalto, pero si quisiera acceder a uno de estos datos, Ponlo que quiero agrupar datos. Bueno, esto no es para eso, para agrupar datos,
porque si queremos acceder a cualquier de estos datos Es tan sencillo como decir che, mira, dame el
elemento número uno y me devuelve Soydalto. Porque si el elemento número uno es este, pues
bienvenido al mundo de la programación.

Aquí no contamos del uno al diez, contamos del
cero al nueve. Básicamente, la forma en que esto funciona
la voy a simplificar de manera muy simple. Lo que estás viendo ahora es una matriz simple,
una matriz simple que tiene varios datos. Si le decimos por ejemplo que nos pase el dato
cero, nos está pasando el primer elemento, porque contamos desde cero hasta el último elemento.
Entonces tenemos cero, uno, dos y tres.

En realidad esos son los datos. Sí, este es el primer elemento, es el elemento número
uno, pero el índice es el índice. cero. El elemento número cero no existe. ¿Para
qué? Porque es el elemento número uno, pero el elemento número uno está alojado en
el índice cero. Entonces, cuando nos referimos al índice, es
en qué posición se encuentra, ¿verdad? Porque esto tiene posiciones. El índice cero
es la posición cero. El índice uno es la posición uno. Entonces,
la posición es el índice. Y luego está el número de artículo, ¿verdad?
Porque es el elemento uno, luego tiene el elemento dos, luego el
tres y luego el cuatro.

Pero cuando lo contamos, va de cero en adelante.
Entonces, supongamos que queremos llamar
Soy Dalto. Simple, decimos lista uno y así llamamos. Lo que se va a mostrar en pantalla es SoyDalto. Si llamamos al elemento dos, mostrará Verdadero.
Si llamamos al elemento cero, mostrará Lucas
Dalto. Y así es como funciona la lista. Entre corchetes, todo lo que
esté entre paréntesis, el número entre paréntesis
es el que define qué elemento va mostrar. Verás, es realmente muy simple. Es así de fácil
y es realmente simple. Una lista es solo un tipo de matriz. Luego tenemos otra matriz similar a esta
que es precisamente la matriz, el arreglo, el famoso arreglo.

Pero esta es otra
matriz. Es decir, los arrays son otros tipos de matrices.
que tenemos que hacer otro tipo de cosas para trabajar
con estos. Es ampliamente utilizado en Python, matrices,
matrices. Pero para esto en concreto, aparte utilizamos
este tipo de matrices que son las listas. Una matriz es solo un conjunto de datos. Una lista, por ejemplo, es una matriz. A ver, lo voy a aclarar porque no me gusta nada
de esto. Ahora sí. Luego tenemos otro tipo de datos compuestos
que son precisamente las tuplas. Son lo mismo que las listas. Puedo decir aquí,
por ejemplo, tupla. Es lo mismo que la lista, solo que en
lugar de usar corchetes, usamos paréntesis. Y aquí podemos hacer lo mismo. Agarramos y copiamos.
Es el mismo. Y funciona, ¿eh? Si yo, por ejemplo, aquí
digo tupla, cero. Cuando le damos f5, funciona. Dice Lucas Dalto. Aquí pongo una lista, cero y actualizo.
No me importa. ¿Cuáles son las diferencias? ok la diferencia
es que la tupla no se puede modificar. ¿Recuerdas que te dije que las variables se
podían modificar? Si yo por ejemplo pongo el mismo nombre Mario
y debajo pongo el mismo nombre Lucas.

El nombre ahora es Lucas, ya no Mario. Bueno, si yo, por ejemplo, tomo esto y digo, vengo
aquí y hago una lista tres, por ejemplo, ahora serán iguales a otros
datos. No lo sé, Lucas, sólo Lucas. O no, mira, machinola, por
ejemplo. Si presiono ejecutar, vamos a decir, imprimir
la lista tres. Allí va. Ella dice, bueno, mira, che, ahora de repente está lista.
Es la máquina. Bueno, sí, está bien, funciona. máquina, máquina.
Pero si de repente digo tupla, actualizo
y ya no funciona. ¿Por qué? Porque la tupla no se puede modificar mientras
que la lista sí. Esto es lo bueno. Con tupla sabemos que podemos tener un conjunto
de datos. eso nunca cambiará. Nunca. Siempre
Estos van a ser los que leamos.

Si bien las listas se pueden cambiar, tocar,
eliminar, modificar. Entonces eso es lo bueno, ¿verdad? Si estoy aquí como digo, es decir, bueno, mira,
lista que hicimos otra vez. Ahí está, está arreglado. y de vuelta a mí
se nota. Máquina. Entonces vamos a poner un comentario que dice que se puede
modificar la creación de una lista. Y aquí abajo creando, dejamos un espacio, creando
una tupla no se puede modificar. Y aquí vamos a poner, esto es válido. y a ellos les
mostraré el primer ejemplo de comentar código. Porque hasta ahora solo hacemos comentarios para
el código, para explicarlo. Pero no comentamos el código. La forma de comentar el
código es la misma. Venimos aquí y ponemos el mismo cartel adelante. Entonces
de esta manera comentamos el código. Esto no va a funcionar. si queremos ejecutarlo,
simplemente descomentamos el código.

Es lo mismo que hacer un comentario. Solo que
conceptualmente decimos que estamos comentando. código. Porque aquí estamos comentando texto. Quiero decir, no
estamos comentando ningún código, estamos comentando. Mientras está aquí abajo, haga este pase
a este código de comentario. Porque ya código que se puede ejecutar estamos
comentando Ahora podemos decir que es un buen programa.
Está bien creado y es bastante bueno. Tenemos esto. Y aquí ya tenemos dos tipos de datos
compuestos. ¿Qué son las listas y las tuplas? Simple. Son conjuntos
de datos. Fácil. Lo llamamos igual, hacemos todo igual.
Todos iguales. Es importante que veas que las tuplas van entre
paréntesis.

Pero cuando les mostramos, esto no es válido. También van con corchetes. Tanto como hagamos
tuplas con paréntesis y listas con corchetes. Todo lo que se muestra siempre va entre corchetes. Esos son por ahora los dos tipos de datos
que hemos estado viendo Sigamos bajando ahora. Esto es lo que
vamos a discutir aquí también. Luego tenemos el siguiente compuesto de datos,
digamos, que es el conjunto. O, digamos, el conjunto. Para crearlo ahora tenemos
que usar una función que es la función establecida. Abramos esto. Y vamos a poner set. Creando un conjunto. Colocar. Y básicamente las características del conjunto. Pues
nosotros lo creemos igual. Ahora vengo aquí, copio esto y lo pego.

Y aquí por ejemplo pongo la diferencia de que para
crearlo no utilizamos corchetes ni paréntesis. Usamos llaves. Lo creamos con claves. Y aquí estamos separando precisamente de esta forma
el objeto. Pero aquí venimos y ponemos, en este
caso juntemos Ahora sí. En un conjunto solo las diferencias
puede ser que, por ejemplo, no tengan un orden fijo. Es decir, son elementos desordenados y que pueden
cambiar. Quiero decir, digamos, Lucas puede ser alto de
repente, ¿dónde está SoyDalto? Más adelante veremos el uso de conjuntos, ¿vale?
Pero básicamente son casi iguales que los listos,
¿vale? Es decir, el conjunto se puede modificar,
sólo que los elementos no.

Es como tuplas en este caso. No podemos modificar
elementos. Si decimos, por ejemplo, poner 1 es igual
a pedrin y ejecutamos, nos arrojará un error porque no se puede modificar. Quiero decir, ¿podemos redefinirlo? Sí. De repente puedo venir aquí y decir, mira, configura
lo mismo y de repente crea uno nuevo. listo. Jaja máquina, te jodí. Lo ejecutamos y bueno, funciona.
Quiero decir, no hay problema. Esto funciona porque
está bien. Funciona. Pero si quisiéramos modificar alguno de los elementos,
es decir, es algo que podemos redefinir y reconstruir sin
problema. Podemos reconstruirlo, pero cada elemento
no podemos cambiarlo en particular. Como las tuplas. Vamos a intentarlo. Si venimos aquí y ponemos una tupla y le damos
Igual, creamos otra tupla.

Jaja máquina, te jodí. Si actualizamos, también funciona.
Entonces podemos modificarlo. ¿Qué pasa con el conjunto? Las diferencias
que tienes solo con las listas, por ejemplo, es que no podemos acceder por el índice a un
elemento del conjunto. Por ejemplo si pongo print set y pongo
1. Si ejecuto esto, no me deja iniciar sesión. Ese es
el tema. No me deja acceder al índice. Entonces no puedo
acceder por un índice.

Pero puedo mostrarlo como tal. Si ejecuto y extraigo el índice completo, permitirá
mostrarlo. Hay. Me muestra todo. De hecho, una característica interesante
es que no me permite repetir valores. Si aquí por ejemplo pongo soydalto. Solidalto es un valor que se repite. Sí,
se repite. Entonces si lo muestro, no me lo muestra. Ahora bien, ¿qué pasa si también le agrego esto?
a una lista común y una tupla, ¿verdad? La tupla, si ejecutamos, me lo muestra. Me lo mostró dos veces. La lista, a ver qué pasa, muéstrame dos veces.
Pero el set no me lo muestra. ¿Por qué? Porque en un conjunto no puede
haber datos duplicados. Esta es una forma fascinante en Python de eliminar
duplicados.

A veces tenemos muchas cosas duplicadas que queremos
eliminar Y una forma interesante es, bueno, creamos un
conjunto y luego lo devolvemos. para convertir a un número entero. Entonces puedes iterar, sí, puedes iterar un conjunto,
pero no se puede acceder a él mediante un índice. No se puede acceder a todos los elementos de la matriz para
un índice. Se accede de otra manera. Para acceder precisamente a los datos de un conjunto
tenemos que utilizar un bucle. Eso lo veremos más adelante, pero
por ahora entiende que puedes andar diciendo: podemos entender y ver qué es cada uno de
los elementos, pero tenemos que usar un bucle, que ya veremos
más adelante.

Así que pongamos características. Los elementos no pueden ser llamados por su índice.
No almacena datos duplicados. Los elementos no se llaman, no se accede a ellos mediante índice.
Allí va. Y no almacena datos duplicados. Además, otra característica es que son desordenados. Quiero decir, no es que tengan una orden. Son datos literalmente confusos. Puedes estar allí y luego cambiar de
lugar. Eso es importante que lo sepas. De hecho, voy a poner lo mismo aquí. Imprimir dupla tres, que me muestra para ver lo que
hay dentro. Conjunto 3. Aquí voy a poner no puedo acceder al elemento.

Y finalmente necesitamos ver el último tipo de
datos compuestos. El último dato compuesto es el diccionario. O si no es dict, los datos dictan. Entonces le vamos a dar creación de un diccionario. Y se crea de esta manera. Mismo diccionario. Para aquellos que conocen JavaScript, es literalmente un
JSON. Literalmente. Es este archivo, ¿ves? A ver, lo que recomiendo hacer es, cuando
lo crearán. abre las llaves También se abre con llaves, eso sí. Le dan espacio y le dejan empezar por arriba, que termina
abajo. Y luego en el medio escribimos algo aparte
de nosotros. ¿Yo explico? Y ahí escribimos. Y aquí sólo te damos un dato y un valor.
Es literalmente un diccionario. Por ejemplo, nombre, dos puntos. Pero el nombre va entre comillas. Nombre, dos puntos y valor. Por ejemplo, Lucas Dalto. Separamos por coma. Lo mismo aquí arriba. Canal de YouTube, colon, soy Dalto. A continuación ponemos, ¿te gusta la programación? O no, se emociona, es más fácil. Está emocionado, colon, es cierto. Y por último, la altura, 1,84. Hay. Tenga en cuenta que los datos son los mismos.

Lucas Dalto, soy Dalto, verdadero y 1,84. Aquí vamos a agregar uno más. Datos duplicados, dos puntos, soy Dalto. Ahí está, hacerlo bien como se debe hacer.
Lo mismo, lo separamos con coma y funciona. Esto es lo mismo, es un diccionario. ¿Por qué? porque el nombre… Observe cómo llamamos a esto. En una lista, esto que está aquí es esto. Es literalmente esto. Cero, uno, dos, tres, cuatro. ¿Por qué? Porque cuando decimos muéstrame en una lista
el tercer elemento, te muestra el tercer elemento, que es 1,84. ¿O no? Bueno, aquí en lugar de decir che, mira, muéstrame
por número, el diccionario lo muestra por el nombre asociado. En este caso, en lugar de decirle que imprima el diccionario
tres, como aquí arriba que pedimos la lista tres, preguntamos el nombre del diccionario. Entonces che, ¿qué tienes en el valor del nombre? Quiero decir, dentro de tu nombre, ¿qué tienes? Este.

Y es lo mismo solo que estamos
creando la forma de llamar a ese elemento. Entonces si lo actualizamos, Lucas me tira a
Dalto, porque el nombre es Lucas Dalto. Che, a ver, ¿y cuál es el canal? El canal de Lucas. Y es que soy Dalto. Ah, mira, ¿y la altura? 1.84. Es literalmente lo mismo que la altura. Es el artículo número tres. Entonces la lista, la pongo lista, lista,
tres, porque esto es lo que hay aquí. Enumere tres. La lista tres valdrá maquinola. Pero bueno, dejemos esto aquí. Para empezar, saquémoslo. Si actualizo esto, ¿ves? 1,85. Bueno aquí me pone 1.84, me dice 1.85. Pongamos 1,85. Allí va. Actualizamos. Allí va. 1,85, 1,85. ¿Por qué? Porque lo que hay aquí, esta lista, la lista,
es como si hiciéramos lo mismo que si dijéramos. Cero, dos puntos, esto. Coma, uno, dos puntos, esto. Come, dos, dos. Solo que en lugar de poner esto, esto ya
viene el programa. Entonces, nos quedamos con la lista así, sin tener
que andar y
la define por defecto. diciendo cero, uno. Se hace automáticamente. Bueno, como esto que está aquí, no se hace automático.
Es decir, como el nombre, vamos a sacar esto, así es como cambia Allí va.

Como el nombre, no se vuelve automático. De hecho, si ahora actualizamos, observe
¿Qué nos dice la máquina? No se puede cambiar porque las tuplas no se pueden
modificar. No tuvimos que descomentar esto. Tuvimos que descomentar el otro, el que dice
listas. Ahora sí, actualizamos. Y ahora me funciona. Ahora sí, esto es válido. Tuvimos que poner una lista en la misma máquina. Esto es para que os quede un ejemplo,
nada más. ¿Qué se puede cambiar? Si actualizamos ahora me dice maquina. Ahí va, porque el tercer valor reemplazó la edad por
la máquina. De hecho, también vamos a hablar de ello. Entonces esas son las diferencias, ¿verdad? O sea, lo que te decía, aquí en lugar de allá
hay un índice. que viene definido por defecto, decimos
como queremos llamar al elemento o nombre, por ejemplo. Esto tampoco tiene orden ¿eh? Tampoco tiene orden, todo está ordenado, sólo que hagamos lo que queramos.

El término de programación para esto es
clave, valor, clave, valor. Entonces, la estructura del diccionario es clave,
valor. Entonces, la clave es la clave, el valor es el valor. Así que esto es técnicamente clave: el valor. Aquí lo que va es exactamente, perdón, aquí
lo que va es la clave. ¿Yo explico? Esta aquí sería la clave. Todos estos son claves, para que lo entiendas. Entonces, cuando llamamos aquí, tenemos que llamar
a la clave. En, por ejemplo, una lista, la clave, la clave, la
clave es 3. Entonces automáticamente 1, 2, 0, 1, 2, 3.
Esto sería 3, 2 puntos, este valor.

Es lo mismo solo que lo estoy explicando más.
para que lo entiendan. Si no entienden, mi consejo es siempre el
mismo. Retoca el vídeo para que lo vuelvas a entender, pero realmente es muy sencillo. De hecho, yo por ejemplo digo, mira, dime la
altura. y también a la altura, suma 2. A ver qué nos echa.

Actualización, 3.85. Es perfecto. Listo, esto funciona y son 10. Quiero un diccionario. La estructura es clave, 2 puntos, valor. Y separamos con comas. También está separado por comas, ¿vale? Si no hay coma al principio ni al final,
es decir, si el diccionario tuviera una sola clave, valdría,
es decir, una clave, valor, esto va sin coma. Si tienes más de uno, se pone. Hay tantas comas como elementos, menos uno.
Si hay cinco elementos, son cuatro comas. Aquí hay cinco elementos y hay una, dos, tres, cuatro
comas. Si hay tres elementos, esta coma también la
elimino. Y bueno, estos son exactamente los tipos de datos.
Compuestos en Python. Esto es muy importante porque vamos a ir a trabajar.
A lo largo del curso. Así que espero que ya los hayas entendido.
que como digo, son realmente importantes. Y bueno, estos eran los tipos de datos compuestos en
Python, Como digo, son muy importantes. Así que espero que los hayas entendido
porque vamos a Estará trabajando durante todo el curso. Ahora si, vamos con lo que serían los
operadores.

Aritmética, que es algo muy simple, una sección
muy fácil. Así que vayamos con lo importante
y vamos a usar lo suficiente. Así que vayamos a verlo. Pues ahora veamos cuáles han sido los operadores.
Estamos de nuevo un dia mas aquí sufriendo con la temperatura. Parece que estoy vestida
exactamente igual pero es el día Próximo porque ayer me quedé hasta las 5 de la mañana
grabando y resulta que no se grabó nada y Sé Perdió todo lo que grabé dos horas para tirarse un
pedo, no importa.

Temperatura hoy 34 grados. Ahora mismo Hace 34 grados atrás. Digamos que no. Es
broma, me estoy quemando. de hecho hoy hecho 36 grados, incluso 37, si no me equivoco. Me quemé,
me quemé Pero bueno, aquí estamos y ahora vamos a Empezamos con esta parte del curso que tengo mucha
ilusión de que se pueda realizar. ¿Por qué? Porque es el de los operadores aritméticos
que son básicamente operadores. matemáticos. Simple, son operadores matemáticos. De
hecho tenemos una imagen aquí, esta que esta aquí, Lo encontré y puede ayudarnos. Los operadores
aritméticos en Python son solo estos. eso tenemos aquí ¿Cuáles son? suma, resta, multiplicación o producto,
división, módulo, exponente o división división baja o doble. Ahora veamos
¿qué hace cada uno? Creemos un nuevo archivo que ser operadores. Bueno, no hay carpeta, lo
siento, que van a ser operadores.

Sólo operadores. Y vamos a crear un nuevo archivo que será
op-aritmética.py. Y aquí vamos a empezar
por el primero y comentaremos todo. Suma y resto, más y menos, que son los signos, y listo. Suma,
igual, pongamos 10 y 5. O no, vamos poner 12 y 5. 12 y 5. 12 más 5 es suma, resta es igual a 12
menos 5. Luego tenemos otros que son, Por ejemplo, multiplicación y división. Luego le puse
multi para que fuera más fácil. Y multiplicación se utiliza este, que es el signo de asterisco,
el famoso asterisco, barra o barra para división. lo haré entonces poner y luego Este es el signo universal
de la división, de hecho. Una de las cosas representa las fracciones. El mismo signo que las fracciones.
De hecho, las fracciones son divisiones. Hay gente que no sabe. ella esta estudiando universidad y no
sabes que si digo 3 quintos es 3 dividido 5. Si digo 4 significa es 4 dividido por 2. Entonces 4 significa
son 2 números enteros, porque es 4 dividido por 2.

Hay la gente realmente no lo sabe y literalmente se
gradúan en ingeniería y no se puede créelo. Pero bueno, nada. Si lo acabas de aprender,
está bien, no te voy a criticar. Bienvenido al mundo de descubrimiento. Y lo haremos. Multi es igual
a 12 por 5. La división es igual a 12 dividido 5. Hasta que sea Es importante tener en cuenta que la división nos devuelve
datos flotantes. Es decir, la división a nosotros devuelve datos flotantes. Por mucho que la
división nos dé un número entero, aunque yo poner 12 divididos 6, esto es 2, no devolverá un int 2.
Devolverá un flotante. Y ahora qué ya veremos. ahí tenemos dividido por 5 como lo pusimos antes. y abajo Veamos
qué es el empoderamiento. Empoderamiento, sería exponente. Y la señal es esta que está aquí. Entonces
ahí ponemos exponente igual a 12 exponente. 5 es Cómo decir 12 elevado a la quinta. Es simple, 12 elevado
a la quinta. En este caso puede ser 12 al cuadrado, 12 a cubo, 12 al cuarto, 12 al quinto. En este caso
es al quinto. Entonces tenemos la división corto. División bajo, que es básicamente doble división.

Es
decir, como la división común sólo que con doble, doble signo. la división baja es igual a 12
compases compás 5. Y luego tenemos el resto, que es resto o módulo o resto. Le digo resto o módulo y es resto
igual a 12 y el signo de porcentaje 5. Mantengámoslos separados mientras lo hacemos
hasta ahora para que pueda ser apreciar mejor. Y si vamos a las imágenes solo tenemos
estos carteles que están aquí que están el que os mostré.

Veamos cómo funciona cada uno.
Pongamos impresión, suma. si se ejecutamos esto devuelve 17 porque 5 más 12 es igual a 17.
Luego nos muestra 17. Aquí podemos verlo el resultado, 17. Si le decimos que nos muestre la resta, tomamos muestra
de 7. Te pedimos que nos muestres multi, nos muestra 60. Ok, restamos 7 porque 12 menos 5 es
7 y la multiplicación nos da 60 porque 12 por 5 es 60. Si decimos división, devuelve 2,4.
Es un dato flotante, por eso pongo un dato flotante, porque devuelve un número con una coma. recuerda que
no hay números enteros que tengan comer, es decir, el punto. Si son 2 puntos, algo ya es un
dato flotante. De hecho, veamos que si yo aquí pongo 6, esto me dirá que es 2,
pero no me dice 2.

Lo cambié mal. Es aquí 6, ahora si. No me va a decir 2, me dice 2.0. El resultado es 2, pero
aquí son datos flotantes y no lo son. 2, es 2.0. De hecho, hay una función que es de tipo
llamada, que es para ver el tipo de datos, para qué mira que si yo aquí por ejemplo te digo,
a ver, a ver el tipo de dato es el mismo un tipo. Si yo por ejemplo le pongo 5, si aquí muestro tipo
de dato, nos devuelve qué tipo de dato es. Y aquí ponemos datos, devuelve un tipo de hecho.
Si pongo el tipo 5, por ejemplo, cuando lo ejecuto Me dice int, porque es un número entero. Yo aquí
le digo, che, a ver, ¿y esto qué es? Hola maestro, Debería decirme que es una cuerda.

Bueno, ejecutemos,
str. Str significa cadena, Es como la abreviatura. ¿Ves qué pasa si
te doy una lista? Hola, maestro, 52, 55, 23. Actualizo, debería decirme,
oh, ok, es una lista. Bueno, veamos, si pongo Los paréntesis deberían decirme que es una
tupla. Listo, es una tupla. si paso datos flotantes, así, debería decirme flotar. Quiero decir
que si paso la división, no importa cuánto da 2, Debido a que 6 dividido por 2, 12 dividido por 6 es 2, decimos
que son datos flotantes. Pero si yo El pasó división baja, aunque sea 2, fíjate que lo
que me devolverá es un int, porque baja division devuelve un número entero. Así que aquí vamos a poner,
devuelve un número entero redondeado hacia arriba.

Abajo. ¿Por qué redondear hacia abajo? bueno,
porque si le doy 5 aquí, le doy 5, en lugar de mostrar tipo de datos, vamos a mostrar una división baja.
¿Qué son estos datos que están aquí? mostrar 12 dividido dividido 5, es decir, la división baja
de 12 y 5. Lo que usemos nos devolverá 2. ¿Y por qué? si nos da 2.4 pues lo que hace es, si es 2 algo,
lo que esta despues de la coma borrarlo y se convierte a un número entero y lo redondea
hacia abajo. Aunque sea 2,999999 lo redondea hacia arriba abajo, para siempre. Por eso se llama división baja, porque
redondea hacia abajo.

Y luego tenemos el resto, descansar. Que lo demás es simple, lo que hace
lo demás, nos muestra el resto. 12 divididos 5 es 2 puntos algo. Bueno, ¿cuánto nos queda? tenemos muchos dos. En
12 entra dos veces el número 5. 5, 10. Luego viene el 15, pero me pasó Entonces son 2. Del 10 al 12
son 2. Yo pondría aquí por ejemplo 7, el resto será 5. ¿Por qué? Porque 7 de cada 12 sólo
entran una vez. Del 7 al 12 hay 5. Entonces, es una llanta, Es resto, matemáticas básicas. Rara vez
suelo utilizar el resto yo mismo, pero a veces sí lo sé. usar más cuando trabajamos con datos, ¿verdad? Pero no es muy común
usarlo. ¿Se usa lo suficiente? Sí, pero no es como más común. Ahí lo tenemos todo escrito, todo inteligente.
De hecho vamos a poner esto, aquí, allá va Y aquí tenemos, digamos, todo. Aquí vamos a poner
tipo de datos para que estemos listos, un poco datos. Y ahí entendemos más o menos cuáles
han sido los operables aritméticos.

Muy simple, realmente bastante simple.
Y es bueno que los veamos porque son los con la cual Vamos a trabajar mucho, ¿no? Entonces
está bien, creo que es bueno que podamos entenderlos. a pasa a lo siguiente, que ahora tenemos que
ver otro tipo de operadores, ¿vale? y ya aquí eran Entrando en conceptos que han sido conceptos
más prácticos, ¿no? porque todo vamos a ver de ahora en adelante nos atienden y nos permiten hacer ejercicio.
Entonces cuando intentamos el siguiente conceptos vamos a poder, digamos, trabajar directamente
con ejercicios. Entonces vamos con el apartado precisamente de algunos conceptos
prácticos. En este caso veremos qué son los operadores de comparación. Eso
es muy importante, muy importante, porque es muy útil, Lo usamos mucho y los operadores de comparación.
Nos ayuda a comparar dos valores. a Devuelve verdadero o falso y úsalo durante toda la programación,
incluso en cualquier idioma. Entonces que los vamos a ver Vamos a ver los operadores solo para comparar
y son los que tenemos en pantalla son solo seis ok, son muy simples ambos
tenemos lo mismo dicen que es igual que el de abajo es diferente de sigue
es menor que es menor o igual que es mayor o es mayor o igual a esto es muy
simple estábamos en matemáticas cuando vimos ecuaciones coinciden
más bien en lo que vienen siendo las inecuaciones porque con esto hacemos
desigualdad con iguales y con lo otro que hacemos inecuaciones con los últimos cuatro
a continuación lo hacemos inecuaciones sin sentido pero esta bueno
veámoslo ok veámoslo porque es muy simple, simplemente creemos aquí dentro
de los operadores otro que son operadores op_comparison.py operadores
aritmética, operadores de comparación el
primer operador es igual a ok simplemente comparamos cómo los
operadores ya saben que ponemos un valor antes y un valor después del operador de valor valor a operador
b así que vamos a empieza por poner vamos a limpiar la consola
para que no quede tan fea y vámonos para decir por ejemplo es lo mismo que ok este operador
de es el mismo que es el de dos es igual al primero es igual a la asignación el
primo igual estamos asignando estamos diciendo que esta variable va a ser igual a pero
no estamos comparando por comparamos usamos dos iguales entonces ponemos
Por ejemplo 5 es lo mismo que 6 veces ejemplo y las respuestas no 5 no son iguales
a 6, entonces devolverá falso o true los operadores de comparación nos devuelven
or true o false es decir o verdadero o falso eso es lo que recibimos
nos ayuda mucho por solo los condicionales que vamos a ver más adelante
tenemos por ejemplo este que nos va a dar falso entonces vamos a poner de hecho
ni siquiera es necesario comenta porque aqui tenemos es lo mismo
y el nombre de la variable ya lo dice abajo vamos a poner es diferente que es diferente por eso
ponemos igual 5 es aparte de 6 y esto nos dará algo más abajo
decimos mira vamos a poner Lo vamos a sacar, es igual que diferente de mayor
que mayor que es simple 5 es mayor que 6 entonces tenemos menor que es
5 es menor que 6 ahora veamos bueno eso nos da cada valor entonces tenemos
menor o igual entonces ponemos 5 mejor puesto mayor o igual mayor o igual
5 es mayor o igual a 6 después tenemos menor o igual o igual a 5 es
menor o igual a 6 y aquí tenemos los seis operadores de comparación que toman
el primer valor y lo comparan con el segundo el primer valor en todos los
casos es 5 en todos los casos y el El segundo valor en todos los casos es 6 para
que tengamos una buena idea.

Cómo funciona así que comencemos,
mostrémoslo, imprimamos empezamos con igual a si le ponemos igual
nos dirá falso por qué porque 5 no es lo mismo que 6 5 es diferente de 6 entonces
aquí ponemos diferente que va a ser igual a verdadero si esto es verdadero y falso
si esto no es verdadero si 5 es distinto de 6 porque aquí tenemos esto, si 5 es
distinto de 6, esto se convierte en en verdad entonces veámoslo ejecutamos
me confundí aquí es diferente aparte de actualizar es cierto porque
5 no es igual a 6 5 es distinto de 6, entonces esto es cierto después
de que tenemos mayor que 5 es mayor que 6, no 6, es más grande, por lo que no será
falso si actualizamos falso.

Por qué y por qué 5 no es mayor que 6 6 es más grande
menos que bueno 5 es menor que 6 si 5 es menor que 6 es menor entonces si ponemos
menos que nosotros debería devolver verdadero, de hecho, es cierto
porque 5 es menor que 6 es un es una comparación válida que se mantiene
después de que tenemos mayor o igual a 5 es mayor o igual a 6 bueno vamos a verlo mayor
o igual si lo ejecutamos no diga falso porque 5 es menor que 6
no es ni mayor ni igual ni igual es menor que 6 entonces no es mayor que igual si decimos
que 5 es menor o igual a 6 cierto porque es menor o igual es igual no es
menor si entonces se cumple la condición es tiene que ser o menos o tiene
que sería lo mismo si ponemos aquí un 5 todavía nos diría que es cierto, pero si
solo aquí esto fuera menos que ya ahora nos dice que es falso porque no es menor seria
lo mismo en este caso menor lo mismo estan todos los valores asi simple funciona
tan simple como realmente es muy simple, de hecho, aquí podemos realizar operaciones
simples y fáciles como ejemplo, fijate que ahora de repente
voy a hacer un ejercicio vamos poner cálculos combinados no diremos que
a es igual a 25 b es vamos hacer un número más pequeño a es igual
a 5 b es igual a 10 c es igual a 20 veces Por ejemplo, decimos que el resultado es igual
a para comparar, la comparación será igual a más b son iguales que vamos a que
nos devuelva vamos a poner comparación con cuánto es 5 b cuánto es 10 entonces
esto da 15 15 no es igual a 20 entonces no devolverá falso che esto es
menor es menor que 20 esto es 5 esto es 10 esto luego es 15 y esto es 20 todo
tiene que ver con lo que es verdad menor que vamos a ver efectivamente nos dice que es más pequeño
y así podemos hacer muchas cosas bien en el futuro veremos ejemplos
y usos prácticos que podemos dar los operadores de comparación
ya que los usamos mucho créeme son uno de los operadores más utilizados no en
toda la programación solo en python pero en programacion
en general aunque menor los mismos también son muy utilizados pero el más utilizado
de todos es este ya que no definir comparar comprueba si dos valores son
iguales por ejemplo hay un usuario registró nuestra plataforma ningún usuario
registró nuestra plataforma Entonces decimos mira, comparemos los
nombres, entonces tenemos usuario por ejemplo vamos a poner aquí comparar usuarios
luego ponemos El usuario de la base de datos, por ejemplo, es el mismo
que Lucas Dalto, este no es el usuario.

De la base de datos es esto así que digamos
usuario escrito usuario lucas así que allá
voy pregúntale qué mirar, a ver te lo voy a contar pregúntale al usuario que escribió por
qué ahora pongo un campo de texto y alguien pone a ver dime cual es tu usuario y mi nombre
de usuario es lucas bueno si Ese es tu nombre de usuario. Te dejaré entrar. Veamos. mismo usuario
de la base de datos usuario de escritorio para ver si coinciden si coinciden la joya
ha terminado, hagámoslo otra cosa vamos a poner la contraseña almacenada la
contraseña almacenada ser dalto maestro va a ser la contraseña almacenada
en dalto master y aquí vamos a poner contraseña contraseña escrita
la contraseña escrita escribí Lucas a ver vamos a preguntarle la contraseña
guardada es igual la contraseña escrita a ver fake me dice
false para que no la dejemos pase si la contraseña es falsa, veamos,
veamos el usuario de De repente escribí la contraseña correcta.

Good
escribió. Dalto. El profesor escribió. dalto profesor ok ahora me dice que coincide porque porque
porque dalto master es igual a dalto master y si lo
escribo con otras comillas con comillas simples por ejemplo el resultado
el mismo resultado y si Escribo con comillas simples triples
vamos a ver, me va a dar la El resultado no cambia la forma en que creemos
la cadena, lo que importa es que es una cadena una cadena de texto es un texto entonces
los textos que podemos comparar y la contraseña almacenada es válida
es igual a la contraseña escrito simple pudimos validarlo luego
con algo llamado condicionales eso es exactamente lo que vamos
a ver ahora podremos actuar en consecuencia porque vamos a ir a ver si se
cumple esta condición si esto es verdadero entonces generamos un código si es falso generamos otro código son como condiciones dos posibilidades
entonces Veamos cuáles son los condicionales, vayamos
a esa sección Bueno, comencemos con la sección de condicionales.
Esta es una de mis secciones favoritas porque aquí
notamos un progreso, ¿vale? Vamos a poder notar un avance y gustarnos.

Me gusta porque para empezar y hacer cosas interesantes
con python. tenemos que ver si o si los condicionales, porque
están en todas partes. Entonces veamos qué es un condicional. Te voy a explicar muy rápidamente qué es un
condicional en una locución. Bueno, los condicionales son básicamente fragmentos. de
código que nos dice, Oye, mira, si esto es cierto, este código se
ejecutará. Si esto es falso, no se ejecutará. Es solo que. Además, tenemos la posibilidad de decirte, mira,
si no se cumple esta condición, es decir, es decir, si el bit de arriba
es falso o falso No vamos a ejecutar el código anterior.

Ejecutemos
el código siguiente. Estos son el si y el demás. Si esta condición es verdadera, ejecutamos este código.
En caso contrario, es decir, en caso de
que esta condición sea falsa, Ejecutamos este otro código. Por ejemplo si la edad es mayor o igual a 18
años le vamos a decir, eres mayor de edad Si no, le vamos a decir, eres menor de edad. Y esto, en pocas palabras, es sencillo.

Estamos diciendo, che, mira, si eres mayor, 18
años, eres mayor de edad. Si no se cumple esta condición es porque
básicamente no es mayor o igual a 18, es decir, eres menor de 18 años. Entonces le decimos que eres menor de edad. Así de simple es la explicación de un condicional. Veamos cómo funciona en código. Vayamos aquí y pongamos una nueva
carpeta que será condicional. Creemos una carpeta con ifElse.py, porque son las dos primeras condiciones que
veremos. Hay varios, pero estos son los dos primeros. En realidad son tres, pero comencemos con
esto. el código es el siguiente. Si, condición, dos puntos, acción.

Si, condición, acción. Esta es la estructura de un condicional. Un condicional funciona así. Si, condición, acción. Si esto es cierto, por ejemplo, 2==2,
Vieron que los operadores de comparación nos
devuelven esto, por ejemplo, como verdadero. Esto sería cierto. Ahora si le digo esto me devuelve falso,
porque dos no es mayor que dos. Entonces esta acción no se ejecuta. Entonces, en última instancia, si esto es
cierto, la acción se ejecuta. Se ejecuta la acción. Ahora, si es falso, pongámoslo en mayúscula. Si es falso, la acción no se ejecuta. Es tan. Si esto es cierto, todo este bloque que está
aquí, esto, esto, esto, esto, todos los que están aquí van a ser ejecutados. Si es falso no se ejecutará. ¿Cómo podemos hacer que esto sea útil? Bueno, claro. Por ejemplo, creemos una variable que sea
edad. Edad igual 17. Y decimos, mira, si es mayor. Maté un súper mosquito de un solo golpe. Si la edad es mayor o igual a 18 años decimos
imprimir, puedes entrar, ¿vale? Entonces, veámoslo.

A ver, lo ejecutamos, f5, y nos dice, no dice
nada, porque no es mayor de edad. Si le ponemos 19, nos dice, puedes pasar, porque
efectivamente, 19 es mayor o igual a 18. Si ponemos 25, 25 es mayor o igual a 18, Él también
nos dice, puedes entrar. Pero si ponemos que tiene 9 años no decimos
nada. ¿Pero cómo lo hacemos? Che, mira, a ver, si le ponemos 18, ¿Cómo lo hacemos? Che, mira, a ver, ¿cómo podemos
actuar si no se cumple el código? Bueno, ahora vamos a decir, si lo ponemos aquí
lo estamos haciendo mal. Tenemos que salir del bloque, porque recuerda
que este es un idioma sangrado. Si escribimos código aquí, todo
lo que escribimos aquí dentro Es parte de Python, ¿ves? Es parte de la condición. Entonces si lo ejecuto, ¿ves? No se cumple. Pero si ahora pongo 19, por ejemplo, me tira. Puedes pasar, es parte de Python, porque esto
que está aquí, Es parte del condicional. Si queremos salir de esta condición, tenemos
que bajar la cuadra, que está aquí, pasa a otro nivel debajo de la tabla, es
decir, aquí.

Aquí ponemos más, dos puntos, y aquí no ponemos ninguna
letra que no puedas pasar. Entonces, comprobemos si funciona. Puedes aprobar, porque tiene 19 años. A ver, si tiene 16 años no se puede pasar. ¿Por qué? Porque es menor de edad. Básicamente, esto funciona así. Si la edad es mayor o igual a 18 años decimos que puedes
aprobar Si no, le decimos que no puedes pasar. Todo lo que hay aquí es parte
del si. Todo lo que está dentro del otro, es parte
del otro. Si lo sacamos aquí, aquí ya no forma parte.
La impresión no forma parte de ninguna condición. Si ejecutamos esto, veremos que no puede suceder,
es parte del otro, no es parte de ninguna condición.
¿Por qué? Porque lo que hay aquí se va a ejecutar pase
lo que pase. De hecho, si yo, por ejemplo, saco esto y esto,
¿ven? Y actualizar. Esto aquí se ejecuta pase lo que pase, porque está fuera de todas las condiciones.

Si lo pongo aquí, que tiene 30 años, ahora no
Dirá que no puedes pasar. Actualizamos, ¿ves? puedes pasar Pero el siguiente es igual. Es decir, depende de esta condición, se ejecutará.
O esto o esto, uno de los dos. Si no ejecuta este, ejecute este. Si eliminamos el else, ejecuta esto o ninguno. Pero si queremos hacer algo diferente ponemos
un else. Lo demás es para eso. Por ejemplo, os pongo un ejemplo. Aquí hacemos lo que queríamos hacer antes, ¿no?
¿Qué es? Si por ejemplo la contraseña ¿no? Contraseña, copiemos las variables que
teníamos en operadores de comparación. Copiemos esto. Y lo vamos a pegar en el else if, aquí. Contraseña almacenada, contraseña escrita. Entonces aquí podemos hacer la comparación.

Si la contraseña almacenada es la misma que
la contraseña escrita, Te lo contamos iniciando sesión. Y listo, comienza la sesión. De lo contrario, le diremos una contraseña incorrecta. Intentar otra vez. Vamos a ver. Venimos aquí y nos dice iniciar sesión. ¿Por qué? Porque coinciden. Le di la misma contraseña que estaba almacenada
en el base de datos, por ejemplo. Porque lo que hay aquí es lo que nos escribimos.
Pero en el futuro lo ideal es conectarlo a una base
de datos y extraer los datos que están alojados.

Porque le vamos a dar la opción al usuario lo
que sé regístrate, escribe tus datos, que esos datos
queden registrados en la base de datos y luego compararlos. Che. A ver me registró una contraseña que es esta
¿no? Que lo eliminamos de la base de datos. Lo que me estás escribiendo coincide con la contraseña
que Me registro. Si coincide, lo dejamos ir iniciando sesión. Y ahí creamos todo un proceso para iniciar
sesión y realmente hacerlo funcionar. Y si no, si no coincide, te decimos mal la contraseña.
A ver, pongamos cualquier cosa más. Pon que la [ __ ] por una carta. Me equivoqué con una carta. Actualizamos y contraseña incorrecta. Intentar otra vez. Bueno, lo intento de nuevo. dalto naestro, eso es todo, pero me equivoqué con una letra
mayúscula. Tampoco me deja pasar porque es sensible a las teclas, Es sensible a mayúsculas y minúsculas. Si te equivocas, inténtalo de nuevo.

Bueno, intento poner master con M. Listo, iniciando sesión. Ya no funciona. Perfecto. Ahora vamos a crear otro archivo que llame a elseif.py.
El elseif es otra condición extra. Por ejemplo, si digo aquí, mira, si vamos a
poner, Creemos una variable que sea. Digamos que la plata equivale a 10.000 dólares. Hay. O 100.000 dólares de plata. $100.000 por mes. Llamémoslo ingreso mensual, ¿verdad? Si su ingreso mensual es de $100,000, Vamos a crear un pequeño programa que es. Si el ingreso mensual es el mismo, no, es mayor a
1.000 dólares, Te vamos a decir que estás bien financieramente en América
Latina.

Pero supongamos que ahora quiero crear otra cosa,
¿verdad? Voy a poner otro si. Si el ingreso mensual es mayor a $10,000, vamos a poner print estás bien en cualquier
parte del mundo. Y en caso contrario, en caso de que no se cumpla
nada de esto, imprima usted es pobre, por ejemplo. Bueno, veamos si funciona. Lo ejecutamos y arroja un error. El error es porque no puse los dos puntos aquí.
Bien, volvemos a actualizar y corremos. Y él nos dice que estás en una buena posición financiera
y eres bueno en Cualquier parte del mundo. Está bien, pero si de repente quisiera decirme
sólo una cosa, porque no quiero que me digas que estás bien
económicamente en Latinoamérica y estás bien en cualquier
parte del mundo.

Quiero que me digas una cosa concreta. Porque si de repente pongo aquí, por ejemplo, 5.000
dólares, ¿Qué pasa? Con 5.000 dólares estoy bien económicamente, pero no bien en ningún lugar del mundo. Así que actualizo. ¿Le va bien financieramente en América Latina?
eres pobre, ¿Pero cómo van los 5.000 dólares? Bueno, para esto usamos el else if. Si. Si el ingreso mensual es mayor a $10,000, Nosotros lo ponemos, estás bien en cualquier
parte del mundo.

Estás bien en cualquier parte del mundo. Y es que ponemos else si, es decir, en caso contrario, 1.000
dólares. El ingreso mensual no es de $10,000
por mes. Bueno, a ver si los ingresos mensuales son de
1.000 dólares. por mes. En caso de que sean 1.000 dólares al mes, le decimos, estás bien en América Latina. En caso de que no estés bien en ningún lado, ahí sí le decimos, eres pobre.

Actualizamos. Tenemos un error, porque el problema es ¿qué
más pasa si en Python no está escrito así. Se escribe elif. De lo contrario, se escribe como elif. ¿Qué significa elseif? Es decir, si no se cumple la primera condición, no vamos a lo demás. Pongámosle una segunda condición. Bueno, a ver, si los ingresos mensuales no son
10.000, son 5.000, No le vamos a decir que es pobre. Veamos si tiene más de $1,000. Está bien, 10.000 no alcanza. A ver si llega a 1.000. Si
llega a 1.000, te decimos que estás en Latinoamérica. Y si no llega a 1.000, pues sí os decimos, sois
pobres Entonces, actualizamos. Estás bien en América Latina. Bien. Si tienes 500 dólares al mes, eres pobre. BUENO. Si tienes $12,000 al mes, estás bien. en cualquier
parte del mundo. ¿Por qué? Porque aquí primero me pregunta el ingreso
mensual es mayor que 10.000? En caso de que sea mayor a 10.000 ejecutamos esto
y esto no se ejecuta. Ninguno de los dos. segunda condición, que es ésta. Y si esto es cierto, ejecuta esto. Pero esto no lo ejecuta. Ahora bien, si esta condición no se cumple y esta
condición tampoco se cumple, justo entonces ejecutamos el else.

Y el si, podemos poner muchos. Por ejemplo, vamos a venir aquí y vamos a poner,
no sé, por ejemplo, estás bien en América Latina. Vamos a poner 500 dolares y aquí vamos a poner,
eres bueno en Argentina. Y vamos a bajar aquí y poner lo mismo, pero
con 200 dolares y decir, eres bueno, que se yo yo,
Venezuela, Por ejemplo. Entiendo que con 100 dólares mejor uno está
bien. Entonces, venimos aquí, actualizamos. No es que esté bien, pero dentro de todo uno está
bien. Actualizamos y ahí podemos ver, vale en cualquier
lugar. del mundo. A ver, a ver si con 1.000 dólares ¿qué
nos dice? Con 900 dólares. Con 900 dólares debería decirnos, Está bien en Argentina. Bien. Sí, porque no llegamos a los 1.000 dólares, pero tenemos más de 500. Si tenemos más de 500, estamos bien en Argentina. A ver, de repente, si tenemos 300 dólares
y con 300 dólares, estás bien en Venezuela. Y con 90 dólares al mes ¿qué hago? Y eres pobre. Bueno perfecto. Soy pobre con 90 dólares al mes. Así es como funcionan los FI. De esta manera trabajamos con condicionales
y es muy útil y Lo vamos a ver ahora en casos prácticos que manos
a la obra más tarde.

Conceptualmente, existe algo llamado IF anidados,
que es un SI dentro de otro SI. Que también lo hacemos mucho, eso de meter un
IF dentro otro SI, pero bueno, ya veremos cuando
nos toca trabajarlos. Suponiendo que tuviéramos que cumplir dos
condiciones para Al mismo tiempo, podemos usar un IF anidado, que es lo que te acabo de decir, que es poner un IF dentro de otro IF, por ejemplo.
Si el ingreso mensual es mayor a $10,000, pero también los gastos son inferiores a 5.000 dólares,
por ejemplo, o menos de $7,000, diremos,
estás bien. Y si no te decimos lo contrario, entonces decimos:
SI el gasto mensual es inferior a 7.000 dólares, Ahí es donde le decimos que está bien. ¿Yo explico? Ahí decimos por ejemplo imprimir, ahora
sí, estás bien. Vamos a poner el más, el más aquí, porque si lo bajamos lo demás, ya es el else de este SI, no de este. Si lo ponemos al mismo nivel jerárquico, en la misma línea, es lo más de esto. Si lo ponemos aquí, es lo demás de esto.

Es decir, los demás IF nunca se ejecutarían, digamos.
De hecho, observe que si lo retiro, Tiro un error, porque esto es incorrecto. ¿Por qué si no los FI no pueden perseguir
a otros? sólo pueden ir tras otro. Así que ahora sí, te digo, en caso de que no
funcione, Le digo imprima y pa, te estás gastando una banda, una
banda. Tienes que ver si te llega. F5 y ahora me dice, eres pobre. Si yo, por ejemplo, te doy 8.000 dólares
al mes y le digo que el gasto mensual es de 2000 dolares
mensuales, digamos que gana 12000 dólares al mes y
gasta 2000.

Pues ya me va a decir, ahora sí, estás bien. Ahora, pero gasta $8000 por mes. Y pa, te estás gastando banda, hay que ver
si te alcanza Pero si el tipo gana 70.000 dólares al mes, le va a decir, estás desperdiciando una banda,
hay que ver si te llega. Sí, estás gastando $8000, pero estás ganando
72000. Entonces hay un error. En lugar de poner gasto mensual, vamos a poner rentabilidad
mensual. Es decir, SI el ingreso mensual menos los gastos mensuales
es mayor a $3,000. En otras palabras, si la diferencia entre lo que recibe y
lo que gasta es de 3000 dólares, Le decimos, ahora sí, estás bien.

Entonces ahora sí, me dice, ahora sí, estás
bien. Si el tipo gasta $80,000 por mes
y me va a decir, y estás gastando una banda, tienes que ver
si te llega. Ahí es más o menos donde lo atrapamos. ¿Yo explico? Así es más o menos como funciona. De hecho, podemos poner la condición de que
si el hombre gasta más de lo que gana, está en déficit. ¿Cómo lo hacemos? Sencillo, aquí te lo decimos, si el gasto es menor, es decir, si el ingreso mensual menos los gastos mensuales
es menor que cero Le vamos a decir, estás en déficit. Aquí vamos a poner un else if. Si el ingreso mensual menos el gasto mensual
es mayor o igual. No, mayor que cero. Igual, estás gastando una banda, hay que
ver si te llega. Aquí lo tienes. Y en el else decimos no, más fácil,
preguntamos si es mayor a $3000. Le decimos, bueno, papá, estás bien, bien, papá,
estás bien.

Y si no ahora te contamos qué ver
si te llega ¿Por qué? Si el ingreso mensual menos el gasto mensual es
menor que cero Es decir, a ver, si ganas 72 mil y le restamos
lo que gastas, está en 8 mil dólares de pérdida. Entonces le decimos que estás en déficit. Y nos dice, estáis en déficit. Vale, pero si de repente gano 72 mil a
92 mil dólares al mes, y estás bien, papá, estás bien. Y si ahora gasto, gano 81 mil y gasto 80 mil, y me dice IPA, estas dando banda, hay a
ver si te llega. Aquí tenemos un programa bien trabajado. Dejémoslo como ejemplo para movernos
con if y else if. De hecho, este es un ejemplo de else if e if
anidado. Pongamos if anidado y else if elif. Recuerda que siempre es elif. De hecho vamos a cambiar el nombre y en su lugar poner
elif, Ahora que ya lo sabemos vamos a poner elif.
Luego tenemos otros operadores que son los
operadores de comparación.

OK, esto es importante porque comparamos y si quisiéramos
poner dos condiciones, Por ejemplo, podemos hacerlo. Como podemos hacerlo en muchas condiciones,
podemos hacerlo como cálculos combinados, digamos, pero cálculos seriamente combinados. Porque era lo que iba a hacer aquí cuando pusiera
operadores de comparación. Vieron que puse cálculos combinados y eso lo iba a
hacer aquí. Pero no, lo vamos a hacer ahora en los operadores… lógico. Los famosos operadores lógicos que son o,
y no. Esos tres, simples, o, y y no. Hay más, pero por ahora veamos los tres
que son los más comunes. ¿Cuáles son los solteros? Eh, entonces vamos
a verlos. Bueno ahora si vamos a empezar a ver cuales son
los operadores lógicos, para eso vamos ceder operadores Vamos a darle un nuevo archivo, aquí vamos
a poner logicOperators.py Y aquí vamos a trabajarlos. Hay tres operadores lógicos que es Y, tenemos
otro que es O y tenemos otro que no es AND es un operador que compara uno y otro.

Bueno aquí les voy a poner una mesita para que veamos,
todos uno por uno. Pongamos resultado 1, pongamos resultado
2, 3, 4, pongamos 5, 6, 7, 8, 9 y 10 Ahí va, corramos uno por uno, imprimamos, resultado.
En el primer caso, tenga en cuenta que pasamos verdadero
y verdadero. Si el primer valor es verdadero y el segundo es verdadero,
devolverá verdadero Bueno hasta ahora todo bien nos dice la verdad
perfecto Ahora el segundo resultado, a ver,
resultado 2, según este nos devolverá FALSO ¿Por qué? Porque falso y verdadero, por
más de una de las dos condiciones que pasamos ser cierto El mismo AND tiene que ser ambos verdaderos,
por lo que si actualizamos devuelve falso Lo mismo con el resultado 3, resultado 3, resultado,
le pongo, ah, ok, resultado 2, ahí, ahora si, está bien Y ahora debería funcionar, resultado 3 que habíamos
puesto, a ver ahora si, falso, bueno, porque esto es falso Resultado 4, esto es falso, entonces podemos
ver para el operador AND, cuál es este eso está aquí, este cartel Devuelve verdaderas, las dos condiciones,
es decir, el valor A y el valor B que le pasamos, ambos tienen que ser verdad Mientras uno de los dos sea falso ya nos devuelve falsos a
todos Vamos a probar el OR, vamos a empezar, resultado
5, que es este de aquí.

El primero nos devuelve verdadero, bueno, vamos.
A ver con el segundo, que pasa si lo pasamos. uno verdadero y otro falso También devuelve verdadero, veamos
qué pasa si pasamos por lo mismo pero al revés, Posiciones diferentes Ok, también devuelve verdadero, y ahora
que pasa si le pasamos los dos datos falsos, si pasamos los dos falsos nos devuelve falso
Es decir, en uno de tres casos, en uno de cuatro casos
se devolvió falso, ¿qué significa? ¿eso? Que el operador OR, que es este signo que está
aquí, solo devolverá falso si no se cumplen las dos condiciones Es decir, es como lo opuesto a AND, AND devuelve verdadero
si ambos son verdaderos, en caso contrario no.

O devuelve falso solo si no se cumple
ninguno de los dos, es como el otro extremo, ¿no? O es una condición u otra, es fácil, solo devolverá
falso cuando ambas son falsos, es simple Che, la primera condición que me pasa, ¿es cierta?
No, ¿eh? ¿Y el otro? si entonces volvemos verdadero Siempre que se cumpla una de las dos condiciones, nos
devuelve todo verdadero. Ahora si no se cumplen los dos ahí devolvemos falso
Y luego tenemos NO, que es de negación, que básicamente
nos invierte el valor. Si le damos un valor verdadero, lo convierte en
falso, si le damos un valor falso, lo convierte en verdad Es decir, si pasamos verdadero nos da falso, si lo
pasamos falso nos da verdadero Por eso para ti tienes un lenguaje tan intuitivo
y de alto nivel, porque decimos FALSO y si no es verdad entonces es falso Es decir, es falso, NO FALSO, es decir, si no es falso
es verdadero, es decir, es verdadero.

Entonces a ver, el resultado 9 nos devuelve
falso, porque si no es verdadero es falso Y vamos a probar con el resultado 10, resultado 10,
cierto, no es falso, es verdadero. O sea, si de repente le pasa, por ejemplo un valor
que es, no sé, a ver, 2 es lo mismo a 2, esto es cierto 2 es igual a 2 es cierto, porque 2 es igual
a 2, así que si le decimos, a ver, dímelo. 2 es igual a 2, NO 2 es igual a 2, a ver que nos
devuelve Y devuelve falso, porque 2 si es igual a 2, entonces
esto se vuelve verdadero, y esto va a invertir el valor Es decir, si pasamos verdadero nos da falso, si
pasamos falso nos da verdadero Ahora, ¿qué pasa si te digo que 2 es mayor
que 29 por ejemplo, 2 es mayor que 49, esto es FALSO Pero si esto es falso y tenemos un NO delante, NO FALSO
es verdadero, así que técnicamente volverá verdadero Porque esto es falso y esto nos devuelve lo contrario
de lo que aquí devolvemos, entonces que vamos a poner verdad para que encajen en el tiempo
Y nada más, te reto a jugar.

Con esto, todo
lo que estamos haciendo lo recomiendo. que escribas código No me dejen sola, ustedes se descargan, por algo
yo descargué con ustedes hasta el editor de código Descarga el editor de código, programa
conmigo, haz los mismos ejercicios, cada vez que termines un ejercicio pon en
pausa el video y reproduce por un rato Juega, prueba, agarra, intercambia
números de lugar, si algo tiene un error, búscalo, busca en google, que todo estara en google,
todo lo encontraran Prueba, juega un poco, hasta que encuentres
la lógica, porque así es. ellos van a aprender A programar se aprende programando, y aquí
estamos con el código, sí lo estoy en el baile, bailemos Así que te estoy enseñando algo, aprende
y escríbelo, codifícalo, reprodúcelo. un poquito, descifrarlos para que incluso con
lo que aprendimos ahora puedan hacer cosas Para qué, y ese es mi consejo, que todo lo que vemos
hasta ahora se quede con ellos.

Porque si ves las cosas sólo una
vez, según la ciencia la posibilidad de que recordarlo es del 10%, la posibilidad de
que lo olviden es del 90% Y si revisas lo que ves un ratito después de
que lo vieron, lo revisan actualizado siguiente y revíselo una semana después Y luego lo revisan un mes después, lo más
probable es que nunca lo olviden. es más probable ¿Qué significa? ¿Qué pasa si todos ustedes
lo repasan después de un tiempo y hacen ejercicios? y ponerlo en práctica, tienen doble
o triple posibilidad de no olvidarlo. Por eso es tan importante poner en práctica porque
si tus posibilidades de recordar son 1 de todos, cuando lo ponen en practica
son 2 o 3, que es mucho Por eso mi consejo es que hasta este punto del
vídeo haga una pausa y comience.

Para jugar un poco con tu editor de código, ¿vale?
Si ya lo hiciste te felicito, ya estás listo para
continuar con lo siguiente, con el siguiente concepto, que es precisamente el tema de
los métodos En este caso vamos a ver métodos de cadena, de
las cadenas, veamos qué es un método y por qué cadenas, etc. Pero vamos a entrar en todo, así que vayamos con la
siguiente sección. Bueno, ahora vamos a ver exactamente los métodos de las
cadenas. Los métodos son estas funciones que utilizamos
bastante aplicadas a lo que ha sido un objeto. Como te dije, en Python la mayoría de las cosas
pueden considerarse objetos. Entonces si tenemos, por ejemplo, una variable,
un texto es un objeto. Una matriz, lo siento, una lista, es un objeto. Entonces, cuando hablamos de métodos,
los métodos son funciones aplicadas a objetos.

Una función es, por ejemplo, imprimir. Las funciones tienen esta estructura, tienen nombre
de función, nombre de función, van seguidos de paréntesis y dentro a veces podemos
darles parámetros, que es como recibirá la función para convertir
o hacer cosas con él. Entonces, en este caso tenemos la función
imprimir, lo que hace es mostrarnos en pantalla lo que estamos pasando. Luego también tenemos la función de tipo,
por ejemplo, que lo que hace precisamente es devolvernos el
valor que le damos. Si le doy un 5, comprueba qué tipo de número
es y nos lo devuelve.

Si le pongo un 15 nos dice qué número es. Esto,
por ejemplo, devuelve el valor flotante. Esto nos devuelve una cadena. Esto también. Entonces lo que hace es verificar los
datos que le damos y nos cuenta lo que hace. Las funciones tienen ese propósito, ¿verdad? Analizan fragmentos de código que nos
dan para devolver o hacer cosas con ellos. Entonces, las cadenas de texto tienen sus
propios métodos, sus propias funciones. Entonces lo que vamos a hacer ahora es ver
cuales son las funciones que nos da python por defecto que ver con las cadenas. ¿Qué cosas podemos hacer con un texto, por ejemplo?
Así que vamos a crear una nueva carpeta
y la vamos a poner, no aquí, pero fuera de todo.

La nueva carpeta se llamará métodos. Métodos
más fáciles. Y aquí dentro vamos a poner, ahora sí, archivo
nuevo y aquí sí, métodos-cadenas.py. Aquí creamos el archivo. Voy a cerrar los demás
si no intervenimos. Y básicamente vamos a jugar un poco con eso. ¿Qué son
las cadenas? Pongamos la cuerda 1. Tendrá, por ejemplo, un texto. Hola, soy Dalt. Cadena 2. Tendrá, por ejemplo, otro texto de bienvenida,
máquina. esos dos textos. Voy a jugar con estos dos textos. Bueno, para empezar lo que vamos a hacer es ver
los diferentes métodos que existen. Aquí armé un bloc de notas con algo de
lo que vamos a ver. Hay muchos más, pero estos son algunos que resultan
interesantes. La primera, si se quiere, es aquella que nos permite ver
todas las cosas que podemos.

Devuelve todos los atributos de un objeto. Entonces, si voy a seleccionar y poner, cadena de directorio
1 y actualizar, Aquí esto es lo que me devolverá si se soluciona
cuando lo ejecutas. Ejecutémoslo. No nos devuelve nada. ¿Por qué? Porque dir ejecuta algo y es un
valor vago. Si queremos mostrar en pantalla lo que estamos haciendo,
Tenemos que envolverlo en una impresión. Imprimir. Y ahora vamos a ver qué hace. Ahora sí actualizamos y aquí nos dice mira
que nos dio esto Esto que aquí nos da, esto que nos devolvió.

Simplemente vamos a subir. Esto que nos devolvió son todas las cosas. ¿Qué
podemos hacer con esto? Podemos darle directorio, podemos darle termina con, codificar,
es dígito, bajar, unir. Digamos que podemos eliminar prefijos. Hay muchas cosas que podemos hacer
con esto, Precisamente con este objeto que pasamos. Si yo por ejemplo pongo un número, pongo 4, cualquier
número, me da otro tipo de cosas. Son similares, pero son diferentes tipos de cosas. ¿Por qué? Porque son simplemente datos diferentes. Podemos hacer que un número se comporte como una
forma, podemos operarlo de una manera diferente a los
textos. De hecho, si quiero una lista, por ejemplo, Te daré una lista con cualquier cosa y la actualizaré.
Noten que ahora nos regala algo más.

Porque las listas tienen otros métodos propios. Lo que vamos a ver ahora son precisamente los métodos
y las propiedades, las cosas que podemos hacer con
un texto. En este caso, la cadena 1. Así que revisemos y veamos qué pasa. Vamos a probar los diferentes métodos. Ok, obtengamos resultados. Resultado y será igual a todo lo que hagamos. Si ponemos aquí el mismo resultado, dir. Cadena 1. Si muestro el resultado aquí, por ejemplo, impresiones,
resultado y ejecutarlo, tenemos lo mismo. Entonces, lo que pase aquí lo almacenaremos aquí.
Luego vamos a ir eliminando eso con el primer
método que vamos a ver.

Lo que hace es convertir todas las mayúsculas. Si ponemos arriba aquí, lo que hace esta cadena, que en realidad las cadenas van con mayúscula
inicial, Esto es exactamente lo que hace es convertirme
estos datos a mayúscula. Si actualizo ahora, ven que tengo un error.
Quiero decir, no funcionará. ¿Por qué es esto? Bueno, esto se debe a que los métodos normalmente no
los trabajamos de esta manera. Los métodos en Python van seguidos de. Es decir, dir, por ejemplo, no era un método, era una función, es una función de Python. Para ser considerado un método, debe ejecutarse
de la siguiente manera. Y es poner cadena 1, punto, superior. Ahora lo que hacemos es ejecutar un método
de esta cadena. Entonces, si vengo y lo actualizo, vamos
a ejecutarlo. va a regresar HolaSoyAlto. Lo que hizo fue tomar este texto y ponerlo en mayúscula
A. De hecho, podría hacer esto directamente. Hola, déjame mostrarte cómo te va. Note que todo lo que esto va a hacer es
que si le decimos que nos lo pase, Es lo mismo, pero lo escribo con mayúscula.

Así funcionan los métodos. Los métodos son los datos, punto, el nombre del método y los paréntesis. Esta es la estructura de la forma en que funciona.
Datos, punto, método y paréntesis. En caso de poner algún parámetro, ya tendremos
qué ponerlo. Vamos a ver cuándo usar parámetros y cuándo
no. Pero ahí acabamos de hacer una función de esta
forma. Cadena 1. somos lo que tienes aquí, poniéndolo en
mayúsculas. Todo se convierte a mayúsculas. Así como tenemos la función superior o superior, que es cómo convertir a mayúsculas, tenemos la minúscula, que es para convertir a
minúscula. Entonces, si vengo aquí y lo coloco desde
arriba, Lo pongo más bajo, si actualizo. Ahora voy a convertir todo a minúsculas. Fíjate que tenía la H y la D con
mayúscula. Y ahora ya lo convertí a minúsculas. ¿Por qué? Porque la minúscula se convierte a minúscula. Así que dejémoslo notando todo.

Vamos a venir aquí y poner esto así. Usemos mayúsculas, convirtámoslas a mayúsculas. De esta forma convertimos a mayúsculas. Pongamos arriba. Ahora sí. Copiemos y peguemos. Y vamos a hacer lo mismo y poner conversiones a minúsculas.
Y en lugar de superior, pon inferior. Entonces ahí hemos anotado bien qué es lo que
está pasando. Aquí está terminado. Hagámoslo un poco más pequeño. Ahí estamos. Mejor. Entonces aquí convertimos a mayúsculas y aquí
convertimos a minúsculas. Allí va. Luego tenemos otro que es solo otro tipo de texto que se va a
convertir. No convertimos todas las mayúsculas ni todas las minúsculas. Convertimos solo la primera letra a mayúscula. Primera letra en mayúscula. Entonces ponemos Primera letra mayúscula. Mismo. Cadena uno.

Punto. Capitalizar. Y aquí si lo actualizamos y os lo contamos. A ver, muéstrame esto. Primera letra mayúscula. Veamos qué nos muestra. Cuéntanos. Hola, soy Dalto. Si yo, por ejemplo, pongo alguna otra
cosa y pongo la H en minúscula, por ejemplo, o lo saco, lo actualizo, me lo convierte a mayúscula
A. Y no sólo convierte la primera a mayúscula, pero lo que hace es Primero actúa como si fuera un inferior. Convierte todo a minúsculas. Y luego toma la primera letra y la convierte en A mayúscula.
Porque fíjate que Dalto estaba en mayúscula. Y aquí lo dejó en minúscula. Entonces lo que hace es primero convertir todo
en minúsculas. y luego en la primera letra lo deja en mayúscula. Así es como funciona esta cadena, digamos. A ver, puse el texto como estaba antes.

Luego tenemos otro método que ya aquí hacemos
otra cosa. Aquí ya estamos devolviendo otros tipos de valores. Devolver un valor significa devolvernos. Porque cuando ejecutamos una función, es decir ejecutamos una función y lo que ejecutamos nos devuelve algo. Es decir, en minúscula, esta variable se convierte
de repente en esto. Decir esto y decir esto es lo mismo. Porque esto, lo que nos va a volver es esto. Entonces, devolver un valor es devolvernos un
valor. La función, el total de la función, el total de este
código. Es como si nos devolviera algo. ¿Lo que nos devuelve es el resultado de ese
daño? Es como el resultado de la ejecución. Así que en este caso lo vamos a dejar como estaba
antes. Que hacemos con este otro que precisamente es encontrar
es buscar un valor que pedimos. Por ejemplo, buscamos una cadena en otra cadena.

Es simple. Ya veremos. buscar encontrar. La búsqueda de búsqueda será igual a la cadena de 1 punto de búsqueda.
Y aquí vamos a decir, por ejemplo, queremos buscar
hola. Queremos ver si en esta cadena de texto encontramos
la cadena hola. Busque encontrar y aquí devolverá cero. ¿Por qué me devolvió cero? Porque me devuelve la posición en la que encontramos
lo que pedimos. A ver, búscame la letra A. ¿Dónde encontrarás la letra A? Y mira, lo encuentro en la posición tres. ¿Por qué? Porque esto es como era,
como te dije, es un objeto. No deja de ser un objeto, un arreglo o lo que quieres.
Entonces tienes posiciones. Una cadena de texto es un conjunto de caracteres. Este es el uno, dos, tres, cuatro. ¿Pero cómo están los cuatro? Si A está en cuarto lugar, ¿por qué?
¿me devuelves los tres? Y porque, como os dije antes, en las listas contábamos
desde cebra uno.

Una matriz se cuenta desde cero en adelante. No empezamos a contar desde uno, empezamos a
contar desde cero. Entonces este valor no es uno, es cero. Si esto es cero, este es uno. Si este es uno, estos son dos. Si son dos, son tres. Entonces tenemos cero, uno, dos, tres. Es verdad, la posición en la que estás
en la carta que te dijimos es en el tres. La tercera posición. Así que realmente funciona de esa manera para nosotros.
forma. A ver, ¿dónde encontramos una S? ¿En qué posición tenemos una S? Bueno, en la posición cinco. Cero uno dos tres cuatro cinco. Efectivamente. A ver si puedes encontrarme una D. Vamos a ver. Ups, nos devolvió menos uno. No hay menos. No hay manera de que sea menos uno. Lo que pasa es que aquí nos devuelve menos uno cuando
uno encuentra un valor. Porque recuerda que Python es sensible a mayúsculas
y minúsculas. Es sólo sensible a las teclas.

Así que aquí ponemos una D mayúscula. Si hubiéramos puesto D mayúscula habría
dicho que estaba en la posición nueve. Cero, uno, dos, tres, cuatro, cinco, seis,
siete ocho nueve. Sí, porque los espacios cuentan también como
los números. Este también es un espacio. Esto sí existe. Existe y es un personaje más. Entonces cuenta. Cero, uno, dos, tres, cuatro, cinco, seis,
siete ocho nueve. Está bien. Cumplir con la condición. Si decimos la D minúscula nos muestra
menos uno. Pero entonces ¿por qué nos muestra menos
uno? Bueno, porque menos uno es el valor que nos
devuelve cuando no encuentra algo. Porque como no hay posición menos
uno, eso sería, digamos, regresar en caso de que no encuentres nada. Si no encuentra nada nos devuelve menos uno. Entonces ponemos Busca una cadena en otra cadena. Si no hay resultados ni coincidencias, si no
hay coincidencias, devuelve menos uno.

Luego tenemos otra función que es la misma. La diferencia es que es índice. Buscamos una cuerda en otra cuerda. Buscar, indexar y igualar. Cadena uno, punto índice. Si pasamos la D, por ejemplo la D mayúscula, pongamos
índice de búsqueda. Esto nos va a devolver nueve. Está bien. Funciona exactamente igual. Le pasamos la A, nos va a devolver tres. Listo. Está funcionando igual. Cero uno dos tres. Obras. Listo. Quiero decir, obviamente está bien. Pero entonces, ¿para qué está hecho?
¿Función de búsqueda o índice si funcionan igual? Bueno, la diferencia es que en uno, si no encuentra
nada, devuelve menos uno.

Pero en otro, si no encuentras nada, vamos a poner
un nueve, por ejemplo. No tenemos nueve aquí, por lo que deberíamos
devolver un error. Como por ejemplo aquí, en la pequeña D. Pongamos la D minúscula. Nos tira un error. Nos lanza una excepción. Más adelante veremos cuáles son
las excepciones y cómo manejarlas. Porque en el futuro tenemos que aprender a manejar
excepciones para que en caso de que arroja un error en medio del programa, sabemos
cómo manejarlos y qué hacer con ellos. el programa para que no se atasque. Porque si no, si hay una excepción, el programa
se queda ahí y no avanza más.

Y eso no puede suceder. Por eso tenemos que aprender a gestionarlos. Bueno, en el futuro vamos a aprender cómo hacerlo.
Pero precisamente la diferencia entre buscar e indexar
es que indexar, en caso de no encontrar a la coincidencia arroja una excepción. Así que agreguémoslo. Si no hay coincidencias, lanza una excepción. Y ahí tenemos esto que es importante. Por eso es bueno tenerlo en cuenta. Así que démosle D y D minúscula.

Entonces sí, si prestan atención, si actualizamos y ejecutamos
el código, nueve. Realmente funciona. Entonces aquí noté otra función. Si te fijas, los estoy separando. La primera es una función. No es un método, es una función. Es decir, método y función no son lo mismo. Porque todos los métodos son funciones, pero no
todas las funciones son métodos. Precisamente, porque los métodos son funciones específicas
de un objeto. Si no es función de un objeto, no es un método.
Ponemos datos del directorio. No ponemos directorio de puntos de datos. Entonces no es un método, es una función. A ver luego cuáles… Cuando trabajemos con programación orientada
a objetos, entendámoslo bien. Porque podremos crear objetos. Y cuando creamos un objeto a ese objeto, vamos a poder
aplicar sus propias funciones. objeto. Por ejemplo, un perro puede ladrar. Pero no podemos decir qué ladrar si no hay un perro.
No podemos decirle al programa que ladre.

Nerd. Tiene que ser una función aplicada
a un objeto. Entonces ahí podemos decir ladrar. Yo explico. Lo veremos más adelante cuando pasemos a
la programación orientada a objetos. Pero hágales saber que un método es una función
aplicada a un objeto. Nada mas. Y aquí lo que estoy haciendo, estoy separando métodos
por diferentes tipos de métodos. Estos métodos precisamente nos convierten
en el valor. Estos métodos buscan un valor. Estos métodos consultan algo más. Es decir, también nos devuelven datos. Pero sólo nos preguntan si son numéricos o
alfanuméricos. Estos aquí están haciendo otra cosa, vamos
a ver. Y los que están aquí hacen otras cosas
que vamos a ver junto con estas que están aquí. Así que nos quedaremos con estos. Esto es simple. IsNumeric es una función que nos permite ver
que si es numérica devuelve verdadero. Fácil. Si es numérico, devolvemos verdadero. Si no, devolvemos falso. Es numérico. Y aquí ponemos cadena1 punto es Numérico. Y ahí ejecutamos el código. Si es numérico, devolveremos verdadero.

Vamos a ver. Vamos a ver. ¿Es numérico? Recordémoslo y veamos qué nos dice. FALSO. ¿Qué pasa si de repente le pongo números? Ya veremos. Les lancé números. Son sólo números. Corro de regreso. Bueno, aquí tiro una excepción. Simplemente vamos a poner algún número a ver
si lo encuentras. Lanzo una excepción por este motivo. Ahí va, ahora sí. Lo usamos y… Bueno no. Simplemente no hay 1. Vamos a poner un 5 que sabemos que son 5. Ahora sí. Verdadero. Devuelve verdadero. ¿Por qué? Porque es valor numérico. Incluso si es un mensaje de texto, esto es una locura. Es un texto, no un valor numérico. Para que sea un valor numérico, tiene que ser
este.

Pero lo que hace isnumeric es comprobar si
es un número. Porque a ver, sí, está bien. Es un texto que sólo tiene números. Bueno, entonces veámoslo. es numérico. Si es numérico, devolverá verdadero. Ahora comprobemos si es alfanumérico. Si es alfanumérico, devolvemos verdadero. Si no, devolvemos falso. Es alfanumérico igual al punto de cadena es alfa. Y ahí lo ejecutamos. Vamos a ver. ¿Por qué nos estás tirando? ¿Es alfanumérico? Nos dice que es falso. ¿Por qué no es alfanumérico? ¿Es numérico? No alfanumérico. Así que agreguemosle una letra ahora. Vamos a ver. Agreguemos como. Volvamos corriendo. Nos dice que es falso. Veamos pruebas con cualquier otro texto. Y sí, punto. Y un personaje especial.

Veamos ahora. A ver qué nos echa. Actualizamos. Nos dice que es falso. Listo. Nos dice que es falso, que es falso. Es perfecto. Está trabajando. Ahora veamos si podemos sacar los números. Vamos a ver. Ejecutémoslo. Bien. Siempre hay un problema. Pongamos la F. Que sepamos que lo tiene. Allí va. Lo ejecutamos de regreso. FALSO. ¿Por qué no dices que es falso? Porque tenemos personajes especiales. Probemos con un solo texto. Hola máquina, soy Dalto. Quitemos la coma. Hola máquina, soy Dalto. A ver ahora si me dice que es alfanumérico. Vamos a ver. Bien. Lo vamos a poner porque sabemos que hay una A.
Actualizamos nuevamente.

FALSO. El problema con esto es que sólo son caracteres válidos
de la A a la Z. A, B, C, D, E, F, G, H, hasta Z. Las letras del alfabeto. El espacio no es alfanumérico. Entonces tenemos que sacarlo. Veamos qué pasa si eliminamos los espacios. Bien. Eliminamos los espacios. Actualizamos nuevamente. Y ahora nos dice que es verdad. Porque los espacios no son caracteres alfanuméricos.

Son personajes especiales. Los caracteres especiales son, por ejemplo, espacios,
barras diagonales, puntos, comas, etc. Así que sólo si es alfanumérico esta condición
nos la devolverá Este método devolverá verdadero. Esta propiedad es interesante. Asi que nada. Tener en cuenta. Entonces tenemos que contar. Lo que hace count es devolvernos el número de
apariciones de una subcadena en la cadena. Dadaista. Lo mismo de antes. En lugar de encontrar una coincidencia, decimos
cuántas veces se encontró una coincidencia. Hasta aquí, por ejemplo, ven. Buscamos una cuerda en otra cuerda. Si no hay coincidencias, devuelve 1. Ok, copiemos y peguemos. La diferencia es que buscamos una cadena en
otra cadena. Devuelve el número de veces que coincide. Si yo, por ejemplo, pongo, cuento coincidencias.

Más fácil. Contar coincidencias. Cadena 1, punto, cuenta. Y aquí dentro tengo que daros un dato. Ahora mismo tengo que preguntarte qué
es lo que vamos a buscar. Bueno, busquemos la letra A. ¿Cuántas veces es la letra A? Ya veremos. Contar coincidencias. Lo ejecutamos. Cuatro. Ok, la letra A está ahí 4 veces. Ya veremos. 1, 2, 3, 4. De hecho, es 4 veces. Miremos cuántas veces es la
D. Por ejemplo, la mayúscula D. Una vez. De hecho, es sólo una vez.

Y ver la pequeña D que nos tira cuando
tirará error. A ver qué nos echa si no lo encontramos. Y si no lo encuentra nos dice que es cero. ¿Por qué? Porque es cero veces. Cuente el número de veces que hay lo que lo pasamos
por aquí, por aquí arriba. Podría ponerte tranquilamente ahora, hola. Como está bien. Y me va a decir que lo es una vez. Porque así el texto como está, hola, en este orden
está aquí.

Una vez. Pero si le pongo hola maquina. Hola, soy Dalt. Cuando actualizo. Ahora me va a decir que se encontró dos veces. Porque este texto, hola, es una y otra vez el tiempo.
Incluso si pongo, por ejemplo, el mío. Debería tirarme como érase una vez, ¿no? A ver, comprobemos. El MA. Porque aquí está la máquina. Hola, termina con el. Y la máquina comienza con ma. Entonces ahí no funciona, ¿verdad? El MA. Veamos si funciona.

Actualizamos. Y nos dice que cero. Ahora, si lo juntamos. Actualizamos. Y eso nos dice. Porque lo mío está todo junto. si nos separamos Nos dice que ahora no hay coincidencias atrás. Si lo volvemos a separar aquí. Actualizamos. Hay una coincidencia. Porque este es un texto tal cual. Con caracteres especiales incluidos. Todo el texto tal cual. Tiene que estar en algún lugar de esta cadena. Luego tenemos a Len. Lo cual también cuenta. Pero qué Len. Es la cantidad de caracteres que tiene una cadena.
Entonces, veámoslo. Devolver. Cambiemos la definición a esta. Porque es mejor. Contamos las coincidencias de una cadena. Dentro de otra cuerda. Devuelve el número de coincidencias. Allí va. Ahora sí. Es mucho mejor. Contamos coincidencias de una cadena. Dentro de otra cuerda. Devuelve el número de coincidencias. Perfecto. Ahora sí.

Y aquí en el segundo. ¿Cuál es el método Len? Contamos cuántos caracteres tiene una cadena. Entonces ponemos Cuente los caracteres iguales a la cadena un punto Len. Este León es muy utilizado. En matrices también. Vamos a ver cómo lo usamos en matrices. Ahora ponemos por ejemplo. Contar caracteres. Actualizamos. Y ahí efectivamente vemos que nos tiene un error.
¿Por qué tenemos un error? Bien. Porque Len no es un método. Len es una función. Entonces tenemos que poner Len. Cadena. Cadena. Uno. Así que ahora está funcionando.

Lo actualizamos. Vemos si corre. Y ahora funciona. No dice que la cadena uno tenga 27 caracteres. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27. En realidad tiene 27 caracteres. ¿Bueno? Fácil de contar. Si de repente dejo esto. Me va a decir que tiene solo 3 caracteres. Bien. Actualizamos. Bueno. Pongamos la H. Actualizamos y nos dice que tiene 3. En realidad tiene 3. Si salimos sólo ponemos hola. Veamos cuánto tiene. Actualizamos. Nos dice 4. Entonces funciona. Lo que hace León. La función Len. Nos dice cuántos caracteres tiene una
cadena. Luego tenemos dos que son muy interesantes. Con qué termina y con qué comienza. Estos también son métodos. Y también están para verificar. Entonces venimos aquí y ponemos. Comprobamos si un método comienza… si una cadena Comience con otra cadena dada. En ese caso. Devolver. Verdadero. Empieza. Con. Es igual a. Cadena 1. comienza con Aquí preguntamos. Vamos a ver. Esta cadena comienza con H. Por ejemplo. Y de hecho si comienza con. Deberíamos volver verdadero. Y tiene efecto.

Comienza con H. Che. Comienza con. CUALQUIERA. Devuelve verdadero. Comienza con. Hola. Devuelve verdadero. Che. Ahora. Comienza con. minúscula h. Devuelve falso. Comienza así con h. H mayúscula. I mayúscula. No. Es falso. Porque comienza con una H minúscula. Perdón. Con H mayúscula. Yo en minúscula. Entonces. Lo que hace es verificar. Dejemos que la cadena comience con lo que le transmitimos aquí.
Es muy interesante. Esto, por ejemplo, devolverá verdadero. ¿No? Comienza con H. Allí va. Y luego lo mismo. Copiemos y peguemos. ¿Por qué? Porque en lugar de empezar nosotros ponemos. Empieza. Termina. Y aquí también lo vamos a cambiar. Termina. Y aquí en lugar de empezar. Reemplazamos el inicio. al final. Ahí tenemos los fines. Con. Comprobamos que la cuerda termina en. Vamos a ver. pongamos fin Termina con. Cadena. Termina con H. No. Termina con. Veamos en qué termina. Con el. Bien. Termina con a. Efectivamente. Hola. Termina con el. O no. Termina con el. Bien. Vamos a ver. ¿Termina con el? Sí.

Termina con el. Termina con. ¿Hola? Sí. Termina con. Hola. Efectivamente. ¿Termina con la H? No. Comienza con H. Así es como funciona este método. Y luego tenemos estos dos que ya son más interesantes.
Bueno. Tenemos. El primero nos reemplaza con un valor. Si yo por ejemplo tengo esta cadena que dice. Hola. Reemplacémoslo. Reemplaza una parte de la cadena dada. Por otro dado Así decimos por ejemplo.

Nueva cadena. Oh sí. Nueva cadena. será igual a Cadena uno. Punto. reemplazar. Y aquí. Aquí hay dos parámetros. El primer parámetro. Es él. Antiguo. Es decir. Reemplacemos. El. Reemplacemos, por ejemplo, el. Para. Lu. en lugar de hola Reemplacémoslo con. Hola. Es decir. Termina con el. Y este el. Vamos a convertirlo en un . Lu. Veamos si funciona. Digámosle que nos lo muestre. Hola Efectivamente. En lugar de reemplazar Hola. Ahora quiero reemplazar toda la cadena. En lugar de reemplazar Hola Máquina. A ver qué pasa.

Hola Máquina. Y ahora vamos a reemplazar. Hola con H minúscula. Mira qué pasa. No pasa nada. Devuelve la cadena anterior. ¿Por qué? Porque si encuentras una coincidencia. Es tan. Si tu encuentras. Una coincidencia. En la cadena que le pasamos. Esa coincidencia la va a reemplazar. Por lo que sucede aquí. En caso de que no lo encuentres. coincidencias. Devolverá la cadena anterior. Si el valor 1 se encuentra en la cadena original. Reemplaza el valor 1 del mismo. Por el valor 2. Es decir. Si este valor Lo encontramos. En la cadena original. Es decir. Si este valor Lo encontramos. En la cadena original.

Reemplaza. Este. Dentro de esta cadena. Para esto. Si yo por ejemplo Yo le diría. que reemplaza Este. Esto me encontrará. Esta aquí. Entonces lo encontrarás. Hay una coincidencia. Qué vas a hacer. Él va a reemplazarme. ¿Dónde encuentras esto? Él lo va a borrar. Entonces. Lo que haría sería Hey Mira. Esto lo va a reemplazar. Para. Que hay aquí Entonces. Yo lo reemplazaría. Para esto. Y así quedaría la cuerda. Vamos a ver. Veamos qué pasa. Actualicémoslo. Y veamos. Efectivamente. Esto es lo que nos da. Básicamente reemplaza Una cadena. Por otro. Por servirnos. Bien. si te pongo Hola. Máquina. Qué. Estos. Tengo. Todas las palabras separadas por comas. Que puedo hacer.

Tengo espacios. Toda una cadena. Que está hecho con espacios. Cuando queremos ver la nueva cadena. Tenemos la cadena sin espacios. Y ahora por ejemplo. A nueva cadena. Cadena. Nuevo. Dos. Vamos a convertirlo. Sólo para la primera letra. Tener letra mayúscula. Nueva cadena. Dos. será igual a Nueva cadena. Punto. Capitalizar. Capitalizar. Y ahí si miran. Aquí todo es mayúscula. Bien. Ejecutemos el código ahora. Y sólo ahora. Ups. Que paso ahi. Bueno, estamos mostrando nueva cadena. Mostremos una nueva cadena. Él nos mostró. La cadena con todas las mayúsculas.

Al principio de cada letra. Y ahora como le dimos capital. a la nueva cadena. ¿Qué es esto aquí? Él nos mostró. Todo con minúsculas. Excepto la primera letra. ¿Qué es la letra mayúscula? con estos métodos. Podemos simplemente trabajar. ¿No? Las cadenas y Juega con estos. Así que voy a borrar esto. Para que no nos confundamos. Y ahí más o menos tenemos. Las funcionalidades más. común. ¿No? Que las cosas más comunes. Que están poseídos por cadenas. Dentro de Python. Entonces el último método es especial. Porque el último método. Lo cual devolverá una matriz. O una lista. ¿Como es eso? Bien. Esto que está aquí. Nos va a separar. Cadenas. Con la cadena que le pasamos. Simple como eso. Por ejemplo. Cadena separada. La cadena separada. será igual a Cadena 1. Punto. Dividir. Bien. ¿Por qué queremos separar las cuerdas? Bien. Hagamos que cada coma nos separe. O dejar que las palabras nos separen.

Por comas. Aquí tenemos una cadena. Aquí otro. Aquí otro. Y aquí otro. Por comas. Queremos. Cada vez que hay una coma. La cadena nos separa. Veamos qué devuelve. Cadena separada. si actualizamos Devuelve una lista. Efectivamente. si preguntamos ¿Qué tipo de datos son? Tipo. Ya veremos. Devuelve una lista. Porque efectivamente. Lo que hace es. Crear una lista. Este método. Crear una lista. en el que se separa Todo lo que hemos pasado. Y lo agrega. Es decir. Crea una lista con Este valor. Apartado. Esto la separa. Esto la separa. Quiero decir. como lo pasamos En este caso. Le pasamos una coma.

Entonces me separa. La cadena entre comas. Aquí están. La cadena 1. Cadena 2. Cadena 3. Cadena 4. Y los agrega todos a una lista. que podemos encontrarlo Aquí. De hecho. si queremos Podemos decírtelo. Por ejemplo. Vamos a ver. muéstrame. Cadena separada. Uno. ¿Qué tienes en cadena separada? Uno. y nos dice Máquina. ¿Qué tienes en cadena separada? Cero. Cuéntanos. Hola. Entonces. Es la primera cadena que agregamos. Qué es. Hola. Muy fácil y este método funciona. La verdad es interesante. Y lo recomiendo mucho. Por qué. Aparte de los métodos de cadena. Estas son cosas que podemos hacer con cuerdas. Más adelante veremos otro tipo de métodos. Incluso que son más complejos que estos. Pero ahora realmente no los vamos a necesitar. Pero después sí pero ahora no. Lo que vamos a necesitar. Son métodos para poder trabajar con listas. Porque estos son sólo métodos de cadena.

Pero ahora tenemos que ver cuáles son los
métodos para trabajar con listas. Que también los usamos mucho cuando estamos
programando con Python. Entonces. Os dejamos con la lista de métodos. Ir. Bueno, tal como vimos antes los métodos de cadena,
ahora veremos métodos de listas, es decir, métodos que podremos aplicar a listas para
operarlas. Bueno, primero vendremos. a los métodos, donde solo teníamos las cadenas del archivo
de métodos y vamos a crear un nuevo archivo que deje métodos-lists.py. Ahí estamos. Para empezar,
también hice una lista con cualquiera de estos métodos y vamos a comenzar
con el primero que no es un método, es un función, como vimos anteriormente dir. También tenemos
esta función de lista, que enumera solo crea una lista. Ya lo vimos en el curso, pero precisamente si decimos
lista es igual a lista, Aquí pasamos parámetros, por ejemplo, hola,
dalto 34, aquí decimos imprimir lista, Lo ejecutamos y devuelve un error. En este
caso devuelve una excepción. ¿Por qué devuelve una excepción? Muy bien,
porque esto solo toma como parámetro En realidad una lista y de esa manera ahora sí creamos una
lista.

Eso lo podemos ver cuando lo actualizamos. Y Lo ejecutamos, ya tenemos la lista creada. Lo
que no tiene sentido hacer esto para crear un listo, es raro. Como trabajamos, por ejemplo, con
tuplas, etc. Bueno, podemos usarlo. pero no es lo más común. Pero nada, que saber
que con lista también podemos crear listo. Creando una lista con lista. Ok, ahora sí,
veamos el primer método de las listas, ¿Qué es León? También len, si te fijas bien, era
len cuando trabajamos con los personajes. En una cadena de texto, por ejemplo, cadena
lo mismo, hola, si le decimos que me diga cadena o resultado, más fácil. El resultado es el mismo
que el punto de cadena len. Esto no funcionó porque no era un método, era una función. si ponemos
len, chain y lo ejecutamos vamos a buscar resultado, corramos, veamos qué tienes
aquí. Pues nos devolvió el importe. de caracteres que tenía la cadena. Pero ¿y
si lo hacemos con la lista ahora? Ir vamos a ver. Si hacemos esto con la lista, nos devuelve el
número de elementos de la lista.

I, Por ejemplo, aquí pongo otro elemento, otro elemento y
otro elemento, por ejemplo. ahora voy a devolver que la lista tiene seis elementos. Uno dos tres
CUATRO CINCO SEIS. Esto es cierto, por lo que nosotros devolverá seis artículos. Es perfecto. Cantidad,
elementos, igual, len. Entonces de Este formulario decimos que devuelve la cantidad de elementos
de la lista. entonces tenemos otro más, que precisamente lo que hace es añadir elementos
a la lista. En este caso vamos a decir sumando un elemento a la lista, agregando elementos,
no iguales, agregando con append. Porque tenemos diferentes formas de agregar elementos, con
agregar, con insertar o extender. Entonces vamos poner agregando con append, lista igual, punto append
y vamos a agregar un elemento llamado jajajaja. Veamos qué nos aporta esto. Primero, si
agregamos ese elemento, la lista tiene otro elemento más. Llamamos a esta variable,
llamamos a la lista y ahora a la lista fue modificado. Lo que hicimos aquí, si se da cuenta,
no fue modificar esta variable que estamos creando, pero se modificó directamente a la lista.

Entonces
de esta manera, a la misma lista. agregamos este elemento. Jajaja. Y lo mostramos
aquí. Entonces funcionó. Ir a ver que nos tira La variable. Si actualizamos esto no nos devuelve ninguno.
¿Por qué? Porque no es un valor que a nosotros cantidad. Entonces eliminemos la variable
y ahora sí, solo trabajamos con la lista. De De esta manera simplemente agregamos un valor
a la lista. Ahora también tenemos inserto, que también agrega un elemento a la lista, solo que con
extender agrega un elemento a la lista en un índice específico. Es decir, si digo
por ejemplo list.extend, aquí primero pongo la posición.

Por ejemplo quiero que se agregue en la posición
2 y en la posición 2 vamos a agregar el elemento. Aquí mamá, aquí mamá. Veamos qué nos muestra
la lista. Ahora si actualizamos la lista. Ah, bueno, no es extender, no es insertar. El perdón, no
es extender, es insertar. Estabamos viendo insertar. Allí va. Insertar lo que hace es precisamente añadir
una lista. A ver si actualizamos si actualizamos y ejecutamos el programa. Allí nos lo agregó. ¿Venir?
En el índice 2 añadió llévanos, mamá.

0, 1, 2. Eso es que después del 34, o sea antes del 34,
perdón, antes del 34, porque este es el elemento uno. Es decir, el índice 0, el índice 1 y el
índice 2 van a ser este. Quiero decir, básicamente Si hombre, Mira, quiero que el índice 2 sea este,
está aquí. En otras palabras, que quien antes era el índice 2, ahora va a ser el índice 3. ¿Ves? Antes era
0, 1, 2 y ahora es 0, 1, 2, 3. ¿Por qué? porque el índice 2 Es esto. Eso es lo que hace el inserto. Además no
podemos hacerlo. En insert decimos, che, mirar. Es básicamente eso. Decimos, che, mira, quiero
que este elemento esté en el índice 2. Y si ya existe un índice 2, ejecútelo nuevamente. Así es
como funciona. Y luego tenemos el último Qué es extender. Extend lo que hace es sumar
varios. Con extender no podemos agregar uno. Agregamos varios. Agregar varios elementos a la lista. Listo. punto
extender Y aquí, por ejemplo, podemos agregar false y le voy a agregar un 2023, 2030. Ahí esto.
Actualizamos. Y si miras, esto tira un error. ¿Por qué? Porque esto no me lo pide.
Es decir, no agregamos los elementos de la lista.

Entonces. El agregamos como arriba. ¿Viste que este parámetro
nos pide una lista? bueno lo tenemos para pasar también una lista. Es decir, agregamos
una lista a otra lista. entonces tenemos que solo pásale una lista. Una lista con artículos.
Ahora actualizamos. y ahora si obras. Porque tenemos que pasarte una lista. Y no se agrega
ninguna lista. La lista nos divide y nosotros agregados como elementos individuales. ¿Verás?
Falso, 2023. Acabamos de agregar estos dos elementos a la listo. Pero no le pasamos los elementos separados. Aquí
pasamos elementos separados. podemos pasar un 5 si queremos. Podemos pasarte un verdadero
si queremos. Podemos usar lo que queramos. Pero aquí no lo tenemos suelto. Lo pasamos dentro
de los corchetes. porque esto significa que Tú estamos repasando una lista.

Entonces tenemos
pop. Que al contrario de sumar, ya estamos eliminando. Entonces lo vamos a eliminar. Eliminando, más bien,
un elemento de la lista. Para su índice. ¿Por qué? Porque pop nos pide el índice.
Lista, punto, pop. eliminemos el elemento 0, Por ejemplo. Entonces si ahora vamos a actualizar la lista.
La lista ahora no tiene ningún elemento 0. El El elemento 0 era hola. ¿Venir? Antes era hola.
Pero ahora ya no tiene el elemento 0. El elemento 0 ahora se vuelve dalto porque el que estaba antes del elemento
0 lo eliminó. y ahora en cambio Que el lista tiene. aviso. Si antes ponemos, por ejemplo,
antes hacemos esto. Yo le digo, muéstrame en pantalla. Listo. Perdón. LEN. Listo. Es decir, si te
pido que me muestres el tamaño del lista y Le pido que me muestre el tamaño
de la lista. Vas a ver esto, que es bastante interesante.

¿Qué es? Me muestra un 10 y un 9. ¿Por qué? Por qué
antes la lista tenía 10 elementos. lo muestro en la pantalla. Y muestro en la pantalla que la lista tiene 10 elementos.
Luego eliminamos un elemento. El elemento 0. Y cuando le volvemos a preguntar cuántos elementos
tiene. Nos dice que ahora tiene 9 años. 10 artículos. Nos muestra el 10. Eliminamos
el elemento. Mostramos de nuevo y ahora muestra que tiene 9 elementos. Así es como funciona POP. Simplemente
elimina un elemento de la lista. si ponemos por ejemplo, el 4. Quitaríamos el elemento 4.
Ese elemento 4 era 0, 1, 2, 3, 4. borrar el 23. Pero no. ¿Por qué? porque el elemento
4 no es 23. Es 56. Porque el elemento 4 es 0, 1, 2, 3 y el cuarto.

Después del 34 vino el
56. Que ahora desapareció. Porque aquí mira, que agregamos el elemento lleva mamá. Además
agregamos el elemento jajajaja. luego a agregar estos elementos, la lista cambió. Entonces
también tenemos que tener eso en cuenta. Incluso a técnica para eliminar este último. Por
qué dirás che de dalto. Pero escucha, quiero eliminar el último elemento de la lista i. Si es el último
artículo, ¿cuál es? el último artículo es 2030. ¿Cómo elimino 2030? bueno, lo
que se hace es poner menos 1. Si pones menos 1, se elimina el último elemento de la lista. Esta
es una técnica interesante, ¿eh? Por qué este la forma en que lo hicimos lucir. El índice 0
es este. Ok, 1 atrás. Y 1 al revés no existe. Entonces reiniciar desde el último.

Si decimos
menos 2, eliminamos el último. ¿Venir? A nosotros eliminar lo falso. Antes lo último era 2030.
Lo elimino. Lo antepenúltimo es falso. y aquí El desapareció. Lo falso ya no existe. Es una técnica
que les tiro que les servirá en el futuro. I Yo particularmente lo uso mucho. De hecho,
aclaremos esto que especifiqué. quitamos a elemento de la lista. Y aquí vamos a poner
menos 1 para quitar el último. menos 2 borrar el anteúltimo y así sucesivamente.
oh Así queda la huella. ahí ponemos 3, por ejemplo, y se elimina el punto 3. ¿Cuál fue el artículo
eliminado? El artículo fue eliminado Creo 34, ¿verdad? Sí, se han eliminado 34. Perfecto. Luego
lo hemos eliminado. que también elimina elimina. Sólo quitar.

Revuelva eliminando un elemento
de la lista por su valor. Quiero decir, Ahora vamos a eliminar un elemento por su valor.
Es decir, buscamos el elemento. Lista.eliminar. Por ejemplo, tomemos a mamá. Ahora tenemos que buscar
¿Cómo se llama el elemento? Si lo encuentras, lo elimina. Entonces si ahora lo buscamos, ¿ves?
Ella lo eliminó. Antes de que ella estuviera aquí. Tómalo. ahora ya ya no está en la lista. Si le pasamos un parámetro
no encontrado, no lo eliminará. nada. Y no sólo eso, pero arroja una excepción.
Por eso es importante, digamos, manejar esto excepción.

Y en este caso, bueno, pásale un parámetro
que sabemos que tiene. Entonces ahora Si lo encuentras en Tomamama, puedes eliminarlo.
Y ya no tiene tomamama. si preguntamos eso borra 56. Bueno, bórrame 56. Ahí está
bien, 56. Búscalo y ahí está. Yo borro el 56. Perfecto. Pongamos tomamama de manera que igual que
agrega, quita. Y luego, finalmente, Tenemos claro que esto ya es Manasi. Esto borra todo.
Eliminando todos los elementos de la lista. Lista.clara. al igual que list.clear
y los elimina todos.

Por eso lo vamos a dejar al final. Aunque sea algo que elimina, al
final lo vamos a dejar porque no queremos. para eliminarnos la lista. De hecho, si miramos cómo es esta
lista y la mostramos ahora, será decir que es una lista vacía. Nos pasó una lista vacía. Porque
se eliminaron todos los elementos. Así como Queremos esto, comentemoslo por ahora. Perfecto.
Vamos con el siguiente. aviso ¿Qué tal el comentamos, actualizamos y ya no corre más.
Ordenar es una función que ordena elementos de forma ascendente.

Veamos cómo es esto.
Si yo por ejemplo digo lista.sort, vamos Vamos a ver lo que nos muestra ahora. lo que pasa aquí
es que aviso que esto no funciona si el la lista tiene cadenas de texto. Entonces lo que tenemos
que hacer es borrar todas las cadenas de texto. Entonces Aquí arriba vamos a borrar todas las cadenas de texto.
Eliminamos las cadenas de texto. Y aquí también hay esto jajaja Borremos y vayamos a
crear un elemento que sea por ejemplo un 65. Y aquí el false también lo vamos a borrar y lo vamos a quitar.
Ahora actualizamos. efectivamente podemos ordenado. Así que actualicemos. Ahora
sí nos podría encargar. Incluso si hay una verdad, el verdadero ir primero. ¿Por qué? Porque si se fijan en mí agrego
un verdadero. La verdad está al final. I Agrego un falso. Veamos qué pasa. FALSO. Agreguémoslo falso.
Veamos qué pasa ahora si sumamos dos falsos. Los falsos son lo primero.

La verdad
llega en segundos. Y luego viene el números. De menor a mayor. A esto también podemos darle
una propiedad que es inversa igual a verdadera. si usted Agregamos esto aquí, observe que lo que
sucede es que están al revés. Me refiero a ahora el ordenamos pero los ordenamos al revés. En
reversa. Es como si nos agarráramos de los elementos y los invertiríamos. cómo las contestamos
automáticamente. Entonces asi es como es como funciona este. Les da la vuelta. Lo que antes era el elemento 5 ahora
es 1. Lo que solía ser 1 ahora es es el 5. Y así. Pongamos ahora ordenando
la lista. Si usamos el parámetro inverso lo mismo es cierto ordenar a la inversa. Allí va. saquemos este parámetro
inverso es igual a verdadero. Ahora Sí.

Entonces hacia arriba. Quiero decir, arriba. de
menor a mayor. Si lo ponemos al revés, es decir, Ordenalo a la inversa, lo clasifica en orden descendente.
Del más viejo al más joven. Y finalmente tenemos reversa. que reverso no
hace lo mismo que ordenar con el parametro revertir en verdadero. Pero lo que hace es precisamente invertir
los elementos. los invierte. Es decir, si primero el ordenamos y luego le damos al revés invirtiendo los
elementos de una lista. Lista.reversa. ¿Cómo lo hacen? Quiero decir, si primero lo que hacemos es
ordenar la lista, luego eventualmente ser uno mismo resultado. Nos da el mismo resultado. Ahí lo
tenemos. En realidad nos da el mismo resultado. Sí actualizamos, literalmente nos da el mismo
resultado. Ordénanos de mayor a menor. Para ¿qué? porque ordenar lo que hace es ordenarlo. Si lo ponemos aquí reverso
igual a verdadero haría lo mismo que esto. Pero si eliminamos el tipo, esto es lo que hace
es la cadena que ya existe. solo el cambio de lugar. Observe que el elemento predeterminado,
lo vamos a eliminar.

El elemento predeterminado es tan. 34, 56, verdadero, falso, 65, falso, 2030. Si sumamos
lo contrario, queda completamente invertido. Entonces lo inverso funciona para cualquier
reverso listo. Sólo que el tipo, que esto que esta aqui lo que hace es primero
ordenarlo y si le pasamos el parametro sort mismo cierto, por cierto también puedes hacerlo al revés.
Solo que al revés lo hace sin ordenarlo. En otras palabras, la lista
se invierte de todos modos. Si miras, el que antes Fue el El primer número ahora es el último. Lo
que antes era el segundo número ahora es el penúltimo. Y lo que antes era el último número ahora
es el primero. Lo que alguna vez fue el penúltimo ahora es el segundo. Así es como funciona al revés. Y ahí
más o menos tenemos todos y cada uno de los elementos de la lista. Ya hemos visto, digamos,
cuáles han sido los métodos.

De las listas. De hecho, las tuplas just y los conjuntos, que
son los conjuntos, también tienen sus propio métodos. Pero son bastante diferentes. Es decir,
si ahora, por ejemplo, tuviéramos que mostrar decir lista, nos va a mostrar todas las cosas que podemos
hacer con una lista y podemos mirar. son todos son. Mientras que si buscáramos los
de una tupla, vamos a poner una tupla y vamos poner cualquier valor, por ejemplo, esta es
una tupla porque la creamos entre paréntesis, dice que el las cosas son diferentes. Si te fijas, algunas cosas
son similares, como los extremos con, como el es numérico, como el superior, la unión.

¿Pero para
qué? Porque funciona casi como una cuerda. agreguemos cualquier otro elemento más, así funciona como
lista. Hay. Ahora funciona como, digamos, una lista. Y si te fijas, tenemos valores diferentes.
Tenemos casi pocas funciones. Lo único que sé lo que puedo hacer con las tuplas es contarlas,
contar cuántos elementos tiene y usar la función índice. ¿Recuerdas que la función de índice también
era para buscar un artículo? esos son los sólo dos cosas que podemos hacer. índice para buscar
elementos y contar. Así como el índice nos busca esposado, si miras los métodos cuando estábamos aquí
de cadenas, index, para ver si tenemos index aqui, Aquí está el índice. Así como index nos buscaba
precisamente letras y nos devolvía, digamos, la posición en la que estaba, nos devuelve también
la posición en la que se encuentra el elemento eso Estamos buscando. Aquí ya no funciona personajes,
aquí funciona para el elemento. completo. Vamos a verlo. Si yo, por ejemplo, pongo índice aquí Comprobar
si un elemento está en la lista. Si pongo el elemento que se encuentra aquí, es el mismo list.index.
Quiero buscar por ejemplo los 56 que tenemos en la lista.

Actualizo y si le pido que lo
muestre, le pediremos que me lo muestre, elemento encontrado, lo que nos va a devolver es, ah,
lo que pasa es que 56 no lo encontró. Bien, no, porque se me olvidó un paréntesis. Ahora
sí. Usamos back y ahí tenemos dos. ¿Por qué? Porque la posición en la que estás
56 es 2. Aquí arriba podemos verlo, ¿venir? La posición es 2. 0, 1, 2. Si le pedimos que no encuentre,
por ejemplo, 34, o más fácil, te pedimos que no se encuentra la verdad, le pasamos la verdad,
hagamos una predicción. ahí va, uno predicción. 0, 1, 2, 3, 4. Nos tiene que tirar un 4. Actualizamos
y nos tira un 4. Así funciona. Pero que sucede si yo por ejemplo le digo que me busque
5. ¿5 lo va a encontrar? No. Hay un 56, pero no hay un 5. Aunque 56 tiene 5, esto busca elementos
completos. 5 no es 56. Esto básicamente Agarra cada objeto y dice: ¿qué significa esto?
¿El pasó? ¿Es igual al elemento de la lista? Y bueno, si vamos a la cima de todo, ¿igual a esto? No es. ¿Como
esto? Que no es.

Sí, tiene un 5. Pero no es lo mismo al 56. El índice que se busca exactamente en las listas
es si este elemento es igual a cualquier de los de la listo. Y 5 no es igual a ningún elemento.
56 contiene un 5, pero no es igual a 5 a 56. Está bien que le encantó en la web. Y sí, también nos
arroja errores. Así que démosle 56 para que encontrar. Ahora sí. Allí lo encontró y
nos devolvió el índice. lo que les dije es exactamente así las tuplas funcionan. Si esto que está aquí,
en lugar de ser una lista, fuera una tupla, lo que les digo es que lo que podemos hacer con las tuplas
es simplemente buscar elementos y contarlos.

Simplemente porque intentemos ser una tupla, invertirla, invertirla o alterarla
de cualquier forma, no podemos. Por qué sólo las tuplas y los conjuntos son
inmutables. Podemos redeclararlos, pero no podemos cambio no elemento. No podemos cambiar el orden, por ejemplo,
de ningún elemento de la tupla. Pero si vamos a por ejemplo lo que puede hacer un diccionario,
por ejemplo ponemos dir, y aquí ponemos un diccionario, lo siento, no hay diccionario, un conjunto,
con el que hacemos los conjuntos.

No se olvidan. Y aquí vamos a añadir por ejemplo un valor y otro
valor. Así que actualizamos y aquí. Cuéntanos, set no se queda así, se queda igual también. Una
lista y allá vamos. Valer 1, valor 2. Ahora sí actualizamos y ya tenemos el conjunto creado.
Lo que nos dice es esto que se puede hacer. Ahora sí, lo que podemos hacer es eliminar elementos de conjuntos,
eliminar elementos de conjuntos, pero no podemos agregar elementos. Es decir, no
podemos usar el append, no podemos usar el apéndice, No podemos usar la extensión. Solo podemos eliminar
elementos y eliminar elementos. Ni siquiera podemos usar índice. Echa un vistazo, a ver
si de repente usamos con esto el índice. Ir para hacer una lista Conjunto, digamos, elemento que se encuentra en
el conjunto igual al conjunto. sacaremos cualquier elemento. Y le vamos a poner un 54. Punto índice 54. A ver si encuentra
el elemento 54. Actualizamos y nosotros Tiene una excepción porque no se pueden usar
índices juntos.

Si quieres ver cuales son Todas las cosas que pueden hacer, las tienen
aquí. Sólo tienen que usar dir y lo. vamos como Acabamos de ver. Definitivamente es interesante
que podamos ver esto y no. no precisamente Puede Digamos que usamos el índice en conjuntos. en las tuplas
solo podemos buscar elementos y usar el índice. Mientras que en sets podemos
hacer todo lo que vimos antes, que es para ahí los copian, limpialos. Es decir, si podemos eliminar todos los
elementos de un conjunto, podemos copiarlos, podemos eliminarlos. Y si quieres ver que realizan
las diferentes funciones, te recomiendo investigarlos, pero son sólo los que hemos visto
hasta ahora. Que si, entonces tenemos métodos de diccionarios que también tienen sus cosas. Quiero
decir, sí, sí, tampoco podemos hacer mucho. Al igual que con las listas, pero podemos hacer otras cosas interesantes.
Así que veamos algunos métodos de diccionario. Bueno, bueno, aquí estamos en otro día. Evidentemente
ahí verás que es un día mucho más avanzado. Y sí, Argentina ganó el Mundial.

Mis predicciones fueron
correctas. Luego verán que hice predicciones y acerté
todas las predicciones. Ahora estamos en 29, pero cuando hice las
predicciones hice el mes. Pasa que este video me lo borraron, así que
me puse… O sea, en realidad yo había tenido otra ropa, pero
me puse esta ropa para hacer y ser consistente, ¿bueno? Es decir, esto lo estoy grabando el día 29 del 12, 29 de
diciembre. Sólo porque cuando estaba editando
este curso sí dije, mira, la verdad es que un poquito del vídeo se perdió. ¿Por qué? No lo sé, fue un error de la PC. ¡Fantástico!
Entonces esto lo explica todo.

Pero básicamente vamos a ver el apartado de
Entradas y Diccionarios. Pero empecemos a ver qué venimos
viendo hace unos minutos. Que para mí fue una eternidad, pero para
ti fue un minuto y medio. Bueno aquí manejé un par de métodos, ok, cuales
son estos cinco que son los que normalmente utilizamos cuando trabajamos con diccionarios. Y tenemos Claves, Obtener, Borrar, Pop y Elementos. Vamos a dar para cada uno, pero empezamos con Claves
y básicamente aquí creé un diccionario, ¿bueno? Para que podamos empezar a hacer ejercicio
y es un diccionario sencillo. Y básicamente es un diccionario con tres elementos.
Un nombre, que es igual a Lucas, un apellido,
que es igual a Dalto y el número de suscriptores, que es un millon Le pongo un millón de seguidores porque es un número
muy especial. Este año pasó algo muy importante para mí
y lamentablemente, o sea, pasó algo que Por eso no me lo esperaba. Esto en parte le hizo ver más la necesidad
de conseguir este número, que ya en el futuro Él descubrirá por qué, pero tiene un significado
muy importante.

No se trata sólo de un millón de personas,
que seríamos un millón de programadores, si no que tiene, digamos, mucho más trasfondo, al menos
personalmente en mi caso. Entonces, cuando lleguemos al millón, probablemente
descubriremos por qué es tan importante Yo este número. Y nada, espero poder mostrároslos, ya probablemente el 2023
vaya a ser el año en el que podáis verlo. Será muy importante para mí poder mostrárselos, así que
nada. Vamos a llegar, estoy completamente decidido
y así será, y cuando lleguemos lo entenderás. todo. Entonces, le enviamos, digamos, claves,
que serán iguales a diccionario.caso, ahí estamos. Si ahora mostramos esto en una impresión, vamos
a ver qué nos muestra. Le damos F5, bueno vamos a darle en Transfolder en Continuar,
pasa que abrí todas las vueltas. Además, como la carpeta que ahora crees
que es más avanzada, lo que tuve que hacer lo que debía hacer era crear una nueva carpeta
y borrar las anteriores para que no vean lo que sigue.

Pero aquí me transformé y dejé el input porque se me olvidó,
pero bueno, olvídalo, así que Tengo que reiniciar todo desde cero. Archivo Python y ahora lo estamos ejecutando. Ok, esto nos devuelve dict.case, que son
nombre, apellido y subs. ¿De qué nos sirven las llaves a nosotros también? Bueno, también nos ayuda a iterar. Verán más adelante qué es iterar, pero de esta
manera podemos iterar las claves, ¿bueno? Repito, van a ver qué es iterar y cómo debemos
iterar, pero precisamente, como en el futuro
veremos que vamos a poder iterar con elementos, También podemos iterar con claves. Hasta ahora no hemos visto un caso para iterarlo
con claves, cuando con el tiempo verán más Adelante, explica esto. No voy a explicar claves para iterar, pero sí lo veremos
en ejemplos más adelante.

Así que nada, entenderán bien cómo usarlo
en el futuro, pero para empezar, esto Es un método muy común y es precisamente, nos permite iterar estos elementos en el futuro para
poder tener, digamos, una matriz con todos los elementos, con todas las claves. Luego tenemos get, que get es muy sencillo, aquí
le damos un nombre, por ejemplo, que es un valor, con get le pasamos un valor. Y cuando accedamos nos devolverá el coraje,
Lucas, llama al mismo Lucas, le daré Por ejemplo apellido. Esto es muy sencillo para devolver dalto.
Si les doy subs, cuando actualice lo hará. devolver un millón ¿Por qué funciona así? Es como básicamente en una
lista, haz esto y pon el elemento 0, elemento 1, elemento 2. De hecho, algo interesante aquí es que podemos llamar
a los elementos, por ejemplo, números como si fuera una lista.

Así que literalmente podemos hacer esto,
funciona, es decir, si ahora de repente vengo aqui y digo 0, ah claro, porque hay un 0, dejémoslo como
si fueran valores numéricos, ahí está, Ahora si, actualizo y ya están arreglados. actualizo y me muestra Lucas, porque esto que esta
aqui es como si fuera literalmente una lista, solo que no es una lista porque no es un objeto
tipo lista, es decir, no se comportará como lista.

Podemos llamarlo lista, porque decimos
diccionario 0 y parece una lista de ese color, nos muestra el elemento this. Como te dije una lista es literalmente
un diccionario, solo que el índice ya Viene por defecto y es autoincremental. es decir, aumenta por cada elemento que automáticamente
nos gusta. Pero en un diccionario también podemos hacer,
podemos sumar los números como si Era una lista, pero para eso creamos una
lista y listo. El diccionario tiene otros usos, tiene otra forma
de trabajar solo con clave o valor y por eso es un diccionario, si no hiciéramos listas, si lo hiciéramos
así, precisamente por eso es importante diferenciarlo.

Cada objeto, cada elemento que creemos tiene que
ir según el tipo de datos que queremos trabajo y contexto. Entonces sería estúpido hacer lo que acabo
de decir, esto es correcto. Y get, te preguntarás pero entonces,
¿para qué usamos get? sí podemos hacerlo tranquilamente así, venimos aquí y ponemos subs.
Bueno lo que pasa es que si yo ahora por
ejemplo hago esto y digo diccionario y no Lo encuentra por mí, esto generará una excepción
y es un error k. Pero si le paso get y aquí le paso un
nombre que no es, esto no me tira una excepción, pero me dice none.

Es decir, mientras uno me tira una excepción
el programa se detiene por completo y no continúa, el otro me dice mira, o sea, si no lo encuentro
te voy a devolver noné, no, te voy a dar un error. Esa es la diferencia, entonces el programa
continúa, si pongo print aquí por ejemplo hola papá actualizo esto y dice hola papá,
ninguna Pero si pongo algo aquí por ejemplo
no lo encuentra, el programa no continúa, se queda atascado ahí y termina ahí, nos tira error.
Entonces esa es la diferencia, no que con
uno el programa continúa con otro no. Además de get, ya podemos trabajarlo y entender qué es
un getter, lo cual veremos más adelante.

¿Qué es un captador? pero un captador es básicamente un método
que puede acceder a una propiedad particular de un objeto, pero vamos a ver bien cuales son los objetos, relaja
un poquito el culo, no te enfades, papá, los cachooteos, ta, ta. Que bien, aquí vamos a poner, obteniendo un elemento
con get, aquí entre paréntesis Pongamos, no lanza una excepción y si no encuentra nada
el programa continúa, si no encuentra nada el programa continúa, más fácil. Y luego teníamos el otro, las claves nos devuelven
un objeto dictItem, dictItem es un tipo de Objeto que permite iterar. Claves las mismas claves de puntos del diccionario
y aquí vamos a poner el valor de un elemento, Pongámosle valor, más fácil, valor
de cas, porque eso es lo que obtienes, es obteniendo el valor de esto, por eso lo pongo así para que quede bien,
más acorde y que así sea, está bien, está bien, es la manera correcta, Debido a que las variables tienen que ser intuitivas,
cuando creamos una variable, la variable tiene que ser algo que describa
lo que contiene dentro, ya sabes, lo que contiene dentro y el valor de cas es
efectivamente eso, así te lo dije.

Hola papá, el programa sigue, actualizamos
y ahí vemos que funciona, todo es 10. y aquí tenemos lo que necesitamos obtener. Bueno, ahora si, bueno ahora sigamos con
el siguiente método que está claro, clear elimina todos los elementos de la lista,
es decir, si lo tomo y lo pongo, eliminando todo del diccionario, no, no borra de la lista, lo siento, borra del
diccionario, a veces cuando hablo trago, Pasa que son las 4 de la mañana y estoy aquí como
un [ __ ] grabando, Hace casi 30 grados atrás, aquí tengo calor
porque afuera hace un poco menos de calor, es decir, afuera el calor es mucho menor
que aquí, sucede que aquí como Estoy con muchos paneles acústicos, muchas cosas y demás, el calor es abrumador,
o sea, literalmente sales y tienes un poco de frio ya a esta hora de la noche, pero hace calor aquí dentro, es impresionante,
o sea, bueno, ahora sí, eliminando todos los diccionario y decimos diccionario punto claro, y ahora vamos a ver el valor del diccionario, revisemos,
diccionario, veamos qué no hay nada dentro Es un diccionario vacío, aquí podemos
ver, eso es lo que hace clear, elimina todo.

Del diccionario, que de hecho lo vamos a dejar para el final,
porque bueno, lo vamos a comentar para que no lo borres, en realidad todo el diccionario, pongamos
otro comentario que diga borrando un elemento del diccionario, porque luego tenemos otra funcion que es
pop, que con pop borramos un elemento del diccionario, así como quitamos pop, quitamos elementos
de tuplas, de listas y demás, con pop también podemos eliminar elementos del diccionario, Por ejemplo, aquí pongo un punto pop del diccionario
y aquí, por ejemplo, quiero obtener el nombre, Bueno, eso es todo, ah, Lucas no, lo siento, es un nombre, dije nombre
y puse Lucas, ven como estoy en este momento, Ejecuto el programa y dice apellido dalto subs
un millon, si ahora de repente quiero obtener el apellido, porque ahí esta con el nombre me parece suficiente,
no hace falta el apellido, bueno, digo esto y ahora me devuelve mi nombre, nombre Lucas y los subs, y si ahora
de repente quiero sacar los subs, saco los subs y ahí está, nombre y apellido, No me interesan los subs, y suponiendo que quiero
conseguir más elementos, pongo la coma.

Y elemento, coma y nombre, subs, nombre, Ahora me saca, actualizo y ahora toma mi nombre y subs,
y finalmente tenemos elementos, ¿cuáles? devuelve exactamente el diccionario, es decir, si vengo aquí ahora, por ejemplo
y muestro el diccionario, me devuelve esto, y si ahora de repente le digo, obteniendo un elemento dicItems iterable y configuro
un diccionario iterable igual a diccionario.items, A ver lo que me devuelve en diccionario es esto
mientras que lo que me devuelve en
3734
02:38:39,130 ​​–> 02:38:40,811
Diccionario iterable, es otra cosa que es esto que esta aqui, entonces en
una situacion me devuelve esto, mientras que en otra situacion me devuelve esto, porque no podemos iterar esto, básicamente
iterar es pasar por el elemento, ya vamos Hablemos más tarde cuando lo explique, pero estamos recorriendo el elemento para poder
acceder a cada uno de los elementos, aquí no podemos, mientras aquí podemos, Ahora cuando veamos bucles lo veremos, así que
de hecho lo siguiente que vamos a ver después de los insumos y los ejercicios y todo lo que hagamos,
son los loops, es decir entradas, ejercicio
y loops, y ahí vamos a trabajar nuevamente con esto, pero antes de que veas aquello, tienen que entender bien cómo son los insumos, cómo
funcionan para que cerremos este ciclo y comencemos con los primeros ejercicios prácticos
¿Qué vamos a hacer durante el curso? así que aquí les dejo esta sección
de métodos de diccionario, y ahora seguimos con las entradas.

Bueno, para empezar, crea una carpeta que
se llama Entradas y un archivo llamado Entradas. Así que si quieres hazlo conmigo y hagamos lo
mismo, ¿vale? Cree la carpeta Entradas y cree el archivo Entradas.
entrada.py. Así que ahora venimos aquí y ponemos un comentario
¿qué vamos a decir? Solicitar información al usuario. ¿Por qué hacemos eso con Input? Es una función que nos permite pedirle un dato
al usuario. Simple. ¿Cómo lo hacemos? Fácil. Nosotros decimos, bueno, mira, a ver, nombres, ¿no? Y lo llamamos Entrada. Che, maestro, dame tu nombre. Colón, entra. Entonces cuando actualizamos, ahora nos deja un
espacio aquí para que hagamos clic y vamos a escribir. Puedo poner a Lucas y ahora no pasó nada. ¿Pero qué pasó? Ahora el nombre de la variable será igual a Luke.
Quiero decir, todo esto se va a convertir en Lucas. ¿Cómo podemos corroborarlo? Simple. Ahora vamos a dejar un espacio porque otra cosa
interesante es que cuando no paramos espacios lo armamos todo.

Pero si dejamos un espacio actualiza y
ahora nos deja un espacio y nos permite escribir escasamente Entonces eso es lo que vamos a hacer. Vamos a mostrar Imprimir, mostrando los
datos. Y aquí ponemos Imprimir, nombre. Actualizamos y ahora mira que nos pide el
nombre Lucas y abajo me lo muestra. Es más, podemos concatenarlo. Puedo hacer esto y decir Tucson. Tucsón otra vez. El nombre es dos puntos y lo selecciono
y lo pongo entre corchetes. Así que entre llaves, lo siento. Actualizo y ahora me dice Che, profe, dame tu
nombre. Y Lucas. El nombre es Lucas. Así pedimos datos al usuario. Ahora bien, ¿y si te pedimos un número? Vale, te vamos a pedir un número. Dame tu nombre y te doy 11. Porque viene a mí para hacer Stranger Things y me
pinta para llamarme 11 porque creo que soy un chico. con poderes mágicos. Entonces enseñé el arco iris y presioné Enter
y me dice que el nombre es 11.

Bueno, esto aunque parezca no es un número. El dato que el Input siempre devolverá
es un texto. No olvides que siempre las funciones, cuando usamos
funciones, usamos Print, usamos Aporte. Todas las funciones que hemos estado usando
nos van a devolver cosas. Así como estábamos usando métodos de cadena,
métodos de lista, cada método nos devolvió un dato. Nos devolvieron números, nos dieron listas, nos devolvieron
mensajes de texto. Lo que nos devuelve Input es siempre un texto. De hecho, vamos a cambiar el nombre de InputNames. Y vamos a crear otro archivo que será InputNumbers.py.
No vamos a preguntarte tu nombre aquí.

Digámosle que le pida un número al usuario. Número es igual a Entrada, dame un número. Espacio de dos puntos y esperar a que nos dé
el número. Si de repente digo multiplicar el número
por dos Vengo aquí y pongo el resultado igual a
dos. Así que ahora bajo y lo muestro, le muestro el
resultado. Imprimir, resultado. Este es un programa súper intuitivo, súper
perfecto y le damos F5. Deme un número capitán, le doy un dos, un
seis y me dice 66. ¿Por qué? Eh, aquí hay un problema. Cierva multiplicada por seis es 66. Aclarar la cuenta. Aquí tienes un ejemplo que lo explica mejor. Ok, dame un ejemplo en Paint. Como siempre, una bestia alta creando todo en
Paint. ¿Por qué hablamos de mientras es la persona?
No sé. Pero aquí tenemos exactamente seis. Aquí tenemos un texto. ¿Recuerdas que cuando tomamos texto y lo
agregamos? Los personajes simplemente se agregan. Se agarran y se unen. Como pudimos ver aquí. En otras palabras, aquí tenemos un personaje.

Si lo multiplicamos por dos, obtenemos el doble
del carácter. Entonces tenemos este resultado. Ahora cuando multiplicamos un número por
dos. Tenemos otra cosa. Aquí es como si multiplicamos dos veces. Te contamos que hay dos veces este personaje.
Bueno, eso es todo. Me uno a ti y si tengo el doble de personaje. Ahora los números funcionan de otra manera. Cuando le decimos que los multiplique por
dos. No da 66. No da 12. Porque este es un cálculo aritmético. Estamos trabajando aritméticamente con este hecho.
No concatenándolos. Esa es la diferencia. Entonces tenemos información. y dalto me estas dando un dato que es un texto.
Entonces lo que tengo aquí es que tengo un texto.
Te digo que esto aquí se multiplica
por dos.

Y me da 66 porque estoy multiplicando el texto seis
por dos ¿Que tengo que hacer? Conviértelo a número. ¿Cómo lo convierto a número? Bueno, la función int, como vimos antes. Ent número dos. Ahora lo convertí a número. Cuando actualizo, ahora dice dame un número capitán.
Le paso el seis. Devuelve 12. ¿Por qué? Porque lo convertí a número. Y estos datos son de tipo int. Lo convertí a un número entero. Entonces ahora digo. Convierto el número a entero y lo multiplico por
dos. Ahí estamos. Esto es lo que hacemos. Es más, luego podemos venir aquí y copiarlo. Y aquí para decirles, convierto el número a flotante.

Flota y multiplicalo por dos. Y aquí pongo float, que es la otra función. Con una función convertimos a int con otra flotante.
Y float es un número con una coma. Ahora van a ver. Voy a comentar esto y voy a actualizar. Y ahora te voy a dar un número. Le voy a poner un 4,5, por ejemplo. Le doy un 4,5 y me dice 9,0. ¿Pero por qué me muestra el punto cero? Si el resultado fuera nueve. Recuerda eso cuando trabajamos con números flotantes.
Si tenemos 4,5 por dos y nos dan nueve. No son las nueve. Son 9.0. En otras palabras, es un número flotante. Incluso si es un número entero. Si lo convertimos a números enteros con el número int.
Yo explico. En otras palabras, podríamos hacer esto en cualquier caso. Y poner a la función int del resultado. Entonces el resultado de esto. ¿Qué va a ser esto? Lo convertimos entero. Si lo actualizamos y le ponemos 4.5. Ahora sí se convierte entero. Pero es para tirarse un pedo. Es como… Depende de lo que queramos hacer.

Puede que lo sea o no. Pero ¿y si aquí? Por ejemplo teníamos el int. Dejémoslo como int. Y a este int le pasaré otro dato. Por ejemplo, me gustaría pasarle un número
con coma. Pues actualizo y le pongo un 4.5. Oh. Lo que pasa es que se lo estamos pasando al int. Un número flotante. Y int convierte números enteros. Entonces cuando sabemos que vamos a trabajar
con números con coma. Bueno. Si vamos a trabajar con números con comas. Usamos flotador. Y ahora esto funciona. Y podemos trabajar con números con comas. Yo intento lo mismo. desde el 16.23. A mí me lo multiplica. Listo. Tienes el resultado con una coma. Y si dices después Atractivo. Sé que el resultado me va a dejar flotando.
Porque sé que son que yo 0,5. Entonces puedes convertirlo completo. Pero si no es así y lo necesitas flotando. Lo dejas en flotación. Y así es como trabajamos con los datos. Con números. Pero podemos hacer incluso sumas. De este modo.

Tomamos un número y lo sumamos. Pero, ¿cómo podemos sumar dos números? Bueno, primero convertimos los dos números a números
enteros. Y lo sumamos. Input lo que hace es pasarnos datos. Tan y tan simple. Así es que realmente lo vamos a utilizar mucho.
Porque entrada. Es una herramienta que nos permite pedir datos
al usuario de la consola. Es decir, trabajar con otro tipo de datos. Usamos otras funciones. Pero este es el principal. Literalmente lo que hacemos aquí es preguntarle
al usuario que nos da información.

Y en programación todo es eso. Todo es pedir información. procesalo. Y da una respuesta. Así es como funciona. Entonces ahora estamos pidiendo esta información. Él nos lo da. Y procesamos las respuestas. En lugar de que le demos la información al programa. Como siempre lo hemos hecho. Ahora se lo pedimos al usuario. Y esta es exactamente la forma de trabajar
con números. En Python después de usar la función input.
De hecho aquí vamos a poner el resultado completo. Y aquí vamos a poner resultado flotante. Ahora hemos terminado. Y aquí vamos a poner resultado flotante. Porque si no, arrojará un error. Y no quiero que tengamos errores en los códigos
que ya dejamos escritos. Perfecto. Lo tenemos listo. Y les digo que ahora va a ser hermoso. Porque vamos a ir con el apartado de ejercicios prácticos.
El apartado de ejercicios prácticos es un apartado
que nos lo permitirá. Crear cosas con lo que hemos ido aprendiendo. En otras palabras, todo lo que hemos aprendido hasta ahora. Lo vamos a utilizar para crear cosas y crear proyectos. Se realizarán tres ejercicios prácticos. Ejercicios prácticos 1.

Ejercicios prácticos 2. Y ejercicios prácticos 3. Estos tres ejercicios prácticos nos
permitirán reforzar todo lo que ya sabíamos. Y ponerlo en práctica. Para ver a qué problemas nos enfrentamos en
la vida real. Cuando creamos cosas con conocimiento
que ya tenemos. Después de los ejercicios prácticos vamos a tener
otras dos pruebas. Que son como ejercicios prácticos. Aparte de eso vamos a investigar. Allí vamos a aprender cosas nuevas y vamos a desarrollar
con lo que ya sabemos. Y aprendiendo cosas nuevas. Y luego vamos a hacer un proyecto final. Que es un proyecto para recopilar todo lo
que aprendimos y cosas nuevas extra.

Pero para empezar vamos con los tres ejercicios prácticos.
Qué son los ejercicios prácticos 1, 2 y 3. Ahora vamos con los ejercicios prácticos 1. Que vamos a plantear diferentes problemas que
tenemos que resolver. Así que veamos si podemos resolverlo. ¿Y cómo afrontamos los problemas?
¿Qué nos van a preguntar? ¡Vamos! Bueno, como recién avanzamos de nivel,
dije, bueno, ya que están aquí, les pongo otro. Camisuli para cambiar un poco el look. Soy el mismo gruñón, pero con diferente vestimenta. Bueno, comencemos con el apartado de ejercicios
prácticos 1. Bueno, para empezar, tomé unos 10 cursos de
Python, que se encuentran entre los los más conocidos e incluso los más recientes. Estamos hablando de, digamos, cursos gratuitos
y pagos, ambos, y básicamente miré bastante cada.

Y tengo información espectacular para ti. Los otros cursos, para alcanzar los mismos conocimientos
que tienes ahora, es decir, para explicar todo lo que explicamos hasta ahora,
tomó entre tres horas a siete horas aproximadamente. Es decir, lo que aprendimos en menos
de hora y media, los otros cursos Te explican dentro de tres horas para las siete. Hubo uno que duró unas nueve horas, pero realmente
lo dejé fuera de esta lista, ya que obviamente no lo vamos a tomar en cuenta
porque el promedio va al estiércol. Entonces sentí mucha curiosidad y dije, pero ¿por
qué nosotros, o yo precisamente, ¿Puedo explicar en hora y media lo que
en otros cursos se tarda entre tres y siete horas? Bueno la respuesta es simple y básicamente
son dos cosas que son dos factores que hicieron que esto es posible.

Y el primero claramente es la velocidad
a la que hablo, es decir, más o menos hablo un 1,3 de lo que hablan otras personas, es decir,
un 30% más rápido. Y el segundo es la edición, los cursos están increíblemente
editados y la cantidad de la basura que se reduce y los espacios en silencio,
que no aportan nada, es altísimo, lo que Hace para hoy un vídeo final de cuatro horas
de duración entre una hora y media o dos. Bien, ¿cómo es esto? Bueno, para empezar a manejar esta velocidad
y hablar más rápido que otros, lo cual otras personas pueden explicarlo en cuatro
o cinco horas, yo puedo explicarlo en tres o cuatro más o menos. De hecho, hasta este momento, la cantidad
de horas que grabé fueron tres horas y media, es decir, lo que la gente tarda en promedio
en explicar, unas cinco horas, lo logré Te explico a las tres y media. Esto básicamente, como digo, para la velocidad, solo
ingresa la velocidad realizada vamos a ganar tiempo Por otro lado, esas tres horas de vídeo se convirtieron
en una hora y media más o menos.

Menos cuando lo edité, es decir, tomé más la
mitad del material. Pasando del concurso promedio, grabas cinco
horas y te quedan cuatro, yo grabé tres horas y medio y me sobraba uno y medio, estamos hablando de
que el optimo digamos de esto es muy alto, pero es asombroso. Mismos conceptos, también explicaciones ampliadas
en detalle, gráficos en movimiento y animaciones, Incluso es un vídeo 4K.

Les digo esto para que podamos hacer el primer ejercicio
y es volcar todos estos datos en un programa para realizar el primero de todos
estos ejercicios. Ir. El primer ejercicio consiste en lo siguiente. El tiempo para ver los conceptos vistos en
Python en un curso continuo es de 2,5 horas. mínimo, 7 horas máximo y 4 horas en
promedio. Este curso se realizó en una hora y media. ¿Cuánta diferencia en porcentajes hay entre el curso
actual y el más rápido de los demás? cursos? Más lento de los demás cursos y promedio
de los cursos. b. Dado que la cantidad de crudo el
promedio de los demás cursos es de 5 horas y con edicion lo hacen 4 horas, y el raw
de este video fue 3 horas y media y se redujo a 1 hora y media, que porcentaje de material
inutil, material vacio en En última instancia, ¿se reduce el petróleo crudo en ambos casos? Y finalmente c. Ver 10 horas de este curso equivaldría a ver
cuántas horas de otros cursos. Y ver 10 horas de otros cursos equivalentes
cuantas horas de este curso. Bueno, este es el primer ejercicio que tenemos que resolver
con los datos que tenemos a continuación.

Otro dato que no mencioné, que obviamente no es relevante
para este ejercicio, pero Lo que es bueno mencionar es que este curso también
está disponible en inglés. Es bueno porque si tienen amigos que quieren aprender
Python y hablar inglés o hablar otros idiomas, este no sólo es el mejor curso para personas
que hablan español, sino también para personas que hablan inglés. Ahora sí, comencemos con el primer ejercicio.
Bueno lo primero que voy a hacer es crear una nueva
carpeta que será ejercicios1 y aquí voy a crear la primera carpeta que será
ejercicio1.1.py. ¿Por qué? Bien, porque el 1.1 es el ejercicio 1 del conjunto de
ejercicios prácticos de trabajo1, también cual ejercicio1.1.py. Bueno, primero lo que siempre tenemos que hacer
cuando iniciamos este tipo de programas es Anotamos los datos, así que anotemos los
datos que tenemos en cuenta.

Registré los datos aquí. Bien. Entonces, creemos una anotación, duraciones, la
variable será la duración promedio, y luego tenemos el otro, dalto curso que
dura 1,5, o sea en otros cursos a ver todos estos conocimientos tardan 2,5 horas,
como mínimo, 7 como máximo y de media Cuatro. Lo logramos en 1.5. Esos son los datos a través de los cuales tenemos
la duración. Luego tenemos que tomar el promedio de crudo.
Bueno, lo que nos pide el ejercicio ya lo sabéis que
es básicamente mostrar la diferencia.

Para eso vamos a crear un conjunto de variables que nos
muestran las diferentes diferencias. Variables de duración, la diferencia con min es
igual a bueno aquí tenemos que obtener un promedio fácil. Primero lo que dura el curso de dalto, curso de
dalto, dividido lo que dura exactamente el otros cursos, otros cursos min y este por 100.
Bueno a ver que nos muestra esto,
print diferencia con min nos muestra 60, o sea, o sea, el curso alto dura el 60 por
ciento de lo que duran los demás cursos. Este 60 es un dato falso porque digamos que no representa
nada real para nosotros a menos que esté aquí.

Pongamos 100 menos esto. ¿Por qué? Porque esto recuerda que se detiene en módulos. Primero se ejecutan 100 en un lado, luego
se ejecuta todo esto porque digamos que esto es Como las matemáticas en la vida real. Primero se ejecutan las divisiones y multiplicaciones.
en este orden y luego restar, es decir, no es 100 menos que el curso alto y después del resultado
de esto se divide esto por esto. No no no. Esto se ejecuta de esta manera, es decir, se
ejecuta así. Sin paréntesis funciona igual. Todo esto se ejecuta primero y al resultado
de todo esto le restamos 100. Son matemáticas básicas, es decir, primero
básicamente es dalto, curso dividido en otros. cursos mín. Eso es precisamente lo que nos da al multiplicarlo por
100, 60 por ciento, pero si lo restamos esto nos va a decir la diferencia y la diferencia es del
40 por ciento, o sea, esta es la diferencia de duración, es decir, el curso de dalto dura un
40 por ciento menos que el más rápido.

Entonces digamos, agreguemos una
F aquí, una F aquí al frente, cerremos la cuerda y digamos que el curso de dalto dura
un, aquí decimos el porcentaje, aquí añadimos la barra de porcentaje menor que
el más rápido, es decir, el curso que más explica rápidamente es esto, porque si un curso lo mínimo
que se necesita para explicar todo lo que explicamos son dos horas y media es porque es
lo más rápido, si otro tarda siete es porque es más lento, entonces aquí decimos
que es el más rápido y lo que nos muestra en La pantalla es la siguiente, el recorrido de dalto duró
un 40 por ciento menos que el más rápido, es decir, logramos explicar un 40 por ciento más rápido
cuál es el curso más rápido él Te lo explicaré y así podremos crear otras
diferencias, es decir, tal como es diferencia.

Con mil puede ser diferencia con máximo y diferencia con promedio,
aquí es donde simplemente estamos poniendo max y debajo estamos poniendo promedio, luego
actualizamos y ahí nos dice, aquí no no nos dice nada, simplemente tenemos que copiar
esto aquí mismo, ok, y aquí estamos cambiando, promedio maximo, ahora actualizamos y nos dice, el
curso de dalto dura un 40 por ciento menos que el mas rapido el curso de dalto dura
78.8 menos que el mas lento deberia ser aquí eso es más lento y 62,5 menos que
la media, actualizamos y ahí estamos bien hecho, el caso es que claro aquí tenemos 78
puntos y pico y nos fuimos al césped número, ¿cómo hacemos esto? Bueno, para esto recuerda que usamos la doble
división, luego actualizamos y ahora nos dice 100 por ciento, ¿por qué? Porque esto no olvidemos que nos devuelven números
que luego terminan perjudicándonos Cuando se trabaja con decimales, ¿por qué
qué? Porque no nos devuelven números flotantes, entonces
¿qué recomiendo hacer? Primero lo multiplicamos por 1000, esto para
tener más números después del decimal y entonces en lugar de multiplicarlo por 100 simplemente lo
dividimos entre 10, así de esta manera tenemos como una coma en el decimal, ¿me explicas?
Y si actualizamos ahora verán lo que me dice 78,6 por ciento,
¿por qué? Porque lo que estoy haciendo aquí es darle,
ok, tres ceros más, o sea, si recuerdas que la division, el doble me devuelve un
numero que es entero, o sea si me dice que es 0.7 se va a redondear a 0, si digo
que es 1.2 redondea a 2, en cambio si lo multiplico por 1000 lo que era antes 1
ahora es 100, lo que era 1.4 ahora es es 140, así que cuando lo dividimos por
esto no nos va a dar un número tan bajo y luego Restamos ese número quitando esta y aquella forma
es como una forma en matemáticas.

Entender esto, es fácil, si lo fueran
lo entenderían pero es una tontería, es precisamente Digamos que si sabemos que todo lo que viene después
de la coma se elimina, bueno, hagámoslo. lo que hay después de la coma, salta la coma
para que se borre todo lo que está en la coma y luego volvemos a agregar la coma
y así ya tenemos lo mismo numero decimal, no en este caso en lugar de moverlo
a dos lugares lo movemos uno, si quisiéramos dos lugares lo haríamos de esta manera,
1000 y ahí y de esa manera ya tenemos la coma movida a dos lugares, es como una manera interesante
de hacerlo, lo voy a dejar así, recuerden que en este caso el nivel jerárquico del orden
en el que se realiza el formulario es el lo mismo pero no es lo mismo hacer esto que esto,
no os confundáis porque esto no es matemático pero al redondear hacia abajo cambia, no es una división
común, entonces en este caso los números no se cancelan con números, tienen
que entender eso y de esta manera tenemos la Ejercicio A hecho, tenemos A listo,
es decir, ya estamos mostrando la diferencia.

Con cada uno de los cursos, B nos pide
que le mostremos cuál es la materia prima que se quita, o sea cual es el material
que no sirve que en ambos casos sacamos y eso lo podemos conseguir con los crudos, así
vamos a crear las variables crudas, duración media del crudo o más fácil,
duración de los crudos, acabamos de poner El crudo promedio es igual a 5 en la mayoría
de los cursos, el crudo, es decir, cuando hablamos por raw nos referimos al video sin editar,
Si tengo un video raw de 5 horas, cuando Lo edité dura 4, más o menos, ¿por
qué? porque es el crudo, es el material que extraemos cuando lo editamos, el raw es el video
sin editar y mi dalto raw, raw es 3.5 Ahora lo que tenemos que hacer es calcular
la diferencia, porque sabemos que mi curso hasta este momento esto duró y hasta este momento
se registró esta cantidad de tiempo, mientras que en los otros cursos esto es
lo que quedó grabado y quedó hasta ahora, Entonces tenemos que calcular las
diferencias, así que hagámoslo.

De hecho podemos copiar la misma fórmula, copiamos
la de arriba, bajamos y ponemos calculando el porcentaje de tiempo vacío, y ahora si calculamos
el tiempo vacío, tiempo vacío promedio, calculando el tiempo vacío eliminado,
el tiempo promedio vacío es igual al mismo, Pegamos la fórmula de arriba y aquí ponemos
de dalto curso, perdón, serían otros cursos promedio y aquí sería promedio crudo, y más o menos
si preguntamos cuánto es, cuánto nos da esto, vamos aquí a agregar otro comentario que
ingresará las diferencias de duración, aquí abajo vamos a decir, mostrando la cantidad
de espacios y los que se eliminan, ejercicio B, y aquí simplemente ponemos print, tiempo
Vacío promedio, veamos qué nos devuelve esto, bueno aquí nos devuelve que es 20%, así que
vamos a copiar esto, pegarlo aquí, aquí Voy a agregar un corchete y un cierre y cerrar la cadena,
un curso promedio quita un porcentaje de tiempo vacío y debajo ponemos este curso
eliminado el tiempo vacío, y aquí ponemos tiempo vacío de dalto y ahora creamos esa variable, agarramos
aquí y la creamos desde dalto y aquí ponemos curso de dalto y aquí ponemos dalto crudo y allá si actualizamos
tenemos lo mismo, un curso medio elimina a 20% de tiempo vacío, este curso eliminó
el 57% del tiempo vacío, es decir eliminamos más tiempo vacío que los demás, si un curso de 10 horas
elimina 2, un curso como este de 10 horas borrar 5,7 horas, lo cual es una verdadera
locura, todo para que siempre sea más óptimo, no es bueno porque hago marketing mientras les enseño
a programar, bueno pero ahora falta el ejercicio B.

Que es el último ejercicio de todos, la D perdón,
la C, soy medio estúpida, la C us Él dice, ver 10 horas de este curso a cuanto seria para
otro curso, es decir ver 10 horas de este curso equivalente a ver x número de horas de otros cursos,
así que vamos a crearlo, mostrando diferencias si los cursos durarán 10 horas, imprima
y agregue F, vea 10 horas de este curso es equivalente a ver, aquí vamos a hacer un cálculo, otros cursos
promedian el curso dividido dalto curso por 10, porque esto es lo que dura en promedio y lo
multiplicamos por 10, luego ve 10 horas de Este curso equivale a ver horas de otros cursos, actualizamos
y nos dice, mira 10 horas de este curso equivale a ver 26,6 horas de otros cursos, ok ahora
hay que redondearlo, vamos hacer lo mismo, redondeemos, ¿cómo redondeamos?
Bueno, hacemos lo mismo que hicimos.

Antes de esto Hacemos división doble, multiplicamos esto
por 10, no es más fácil, por 1000 y esto nos dividimos por 10, ahora si, actualizamos y nos queda el mismo
resultado pero con, perdón, lo dividimos por 100, esto es para darle dos decimales, entonces
de esta manera 26,6 horas de otros cursos, vamos restar un decimal en ambos casos porque
los decimales no nos sirven, equivale a ver 26,6 horas de otros cursos, es decir, si vemos 10 horas
de este curso es como ver 26 horas y media de otros cursos y ver 10 horas de otros cursos equivalen a
ver cuantas horas de este, vamos a calcularlo, ver 10 horas de otros cursos equivale a ver, y aquí
invertimos este número, es decir, aquí ponemos rumbo a dalto y aquí ponemos otros cursos promedio, ahí
va, ver 10 horas de este curso equivale a ver 26 horas de otros cursos y ver 10 horas de otros cursos
equivale a ver 3,7 horas de este curso, ahora vamos a separarnos todo con lineas porque nos queda un poquito feo,
asi que separemoslo todo con lineas y vamos a poner print, vamos a poner una linea, ahí
va, y esto lo vamos a repetir en todas casos, actualizamos y tenemos todos los datos, de hecho aquí recomiendo hacer una
impresión, hazlo aquí también para separar todo, allá vamos ahora sí, tenemos todas las
líneas, ahí estamos, el curso de dalto duró un 40% menos que el mas rapido, el curso alto duro un 78,
ay no, mas facil, mira a lo que vamos hacer, el curso Es para que quede mas bonito todo, vamos a poner
otra estampa, el curso de dalto dura dos puntos y aquí abajo ponemos toda la demás información,
espacio, guión, espacio, y copio esto y lo pego, espacio y dash Space, Space y Dash Space, guardando
y dejando todo esto, esto es como para hazlo más lindo entonces actualizamos y tenemos esto, el curso de dalto
dura un 40% menos que el más rápido, 78,6 por ciento menos que el más lento y 62,5 por ciento menos
que el promedio, a continuación dice un curso promedio y 20% de tiempo vacío, este curso disminuyó 57.2
tiempo vacío, ver 10 horas de Este curso equivale a ver 26,6 horas de otros cursos,
ver 10 horas de otros cursos equivale a ver 3.7 horas de este curso, es decir, en todos los sentidos esto
es mucho más óptimo, mucho más rápido E ir a aprende, básicamente si dices que no porque
como en menos de 10 horas de curso de Python de dalto aprenderás lo que te enseña este curso de
25 horas, bueno es posible que un curso que serian 30 horas no te enseñan lo mismo que este curso
en 8 por ejemplo, es importante resaltarlo, porque a veces hay gente que habla con esta velocidad y si hablamos
con esta velocidad y además no editamos nada y yo Por ejemplo tengo un error y sigo pensando
a ver cuanto puede durar esto, a ver no error No es esto creo, bueno así es como se habla no
editándolo y demás hace que los cursos duren mucho Entonces esa es una de las cosas que
vamos a agarrar y romper, la sacamos, embotellamiento roto, mucha información en un solo video
y encima es bueno porque puedes deja de hacerlo pausa, está todo muy centralizado, no tienen por
qué pasar, este no es el nivel medio, no es este es el intermedio, este no es el avanzado, está
todo en este, pero ya está aquí que tenemos la primera Ejercicio resuelto si llegaron hasta
aquí te felicito, vamos con el segundo ejercicio.

El segundo ejercicio consiste en lo siguiente. 4264 03:02:19,130
–>
03:02:22,250 Suponiendo
que cada persona en promedio habla dos
palabras por segundo A. Pídale al usuario que diga cualquier
texto real y calcule cuánto tiempo tardaría en decirlo. esa frase y cuantas palabras dijo. B. Si tarda más de un minuto, díselo Detente flaco, que tampoco te pido testamento. Y C. ¿Cuánto tiempo tardaría Dalto en decirlo, teniendo
en cuenta que hablas un 30% más rápido? Bueno, en estos ejercicios evidentemente estoy bastante
presente, es decir, hablo de mí en tercera persona, cosas
que no muchos pueden hacer.

Dios mío, qué triste. Bueno, básicamente es porque se me ocurrió
esa idea, ¿no? Aprovechando que hablo más rápido que otros,
Podemos usar esta variable para jugar un poco en
el camino. Bien, hagamos el segundo ejercicio. Creamos un nuevo archivo y ponemos el ejercicio 1.2.py,
¿entiendes? 1.1, 1.2. Si en los ejercicios prácticos 2, tienes 3 ejercicios,
entonces serían los ejercicios 2.1, 2.2 y 2.3. Este es el último ejercicio de la primera parte.
Primero, ya sabes, frase. La frase será la misma, la frase será igual
a la entrada. Dígame algo maestro y le calcularé cuánto tiempo
tardaría en decirlo. Dime una frase, dime una frase y te calcularé cuánto tiempo
tardarías si tuvieras que decirla. Dejamos dos puntos y un espacio, ahí va. Actualizamos y esto está funcionando, bien. A continuación lo que vamos a hacer es utilizar la función splits,
¿recuerdas? Eso nos permite separar las palabras. Entonces ahora vamos a poner cantidad de palabras, será igual al punto de división de la oración, espacios, ¿por qué?
Porque lo único que separa una palabra de otra es
el espacio.

Entonces, si dejamos un espacio aquí, un espacio
aquí, un espacio aquí, y vamos a calcular la cantidad de palabras ¿qué pasa,
por qué? Mira, una palabra, dos palabras, espacio, tres
palabras, espacio. Y así podemos entender la cantidad de palabras que
tiene una oración. Entonces lo calculamos y aquí ponemos que
el número de palabras es igual a la oración. punto de división. Aquí vamos a poner palabras totales, palabras separadas.
Y debajo vamos a poner la cantidad de palabras, será
igual a len palabras separadas.

Y todo lo que tenemos que hacer ahora
es calcular cuánto tiempo tomó. Y para eso podemos hacer lo siguiente. Imprime, F, dijiste muchas palabras, palabras
y llegarías tarde. Aquí abrimos otro y cerramos otro. Número de palabras divididas por dos segundos
en decirla. Entonces actualizamos y aquí nos dirá,
nos va a pedir que veamos. Hola maestro, ¿cómo estás? ¿Qué pasa con
la vida, rey? Ok, tenemos que actualizarlo, bien. No lo actualizamos. Ahora si, pues lo mismo. Hola maestro, ¿cómo estás? ¿Qué pasa con
la vida, mi rey? Actualizamos y me dice, dijiste 12 palabras
y te tomaría 6 segundos decirlo.

Bastante bueno. La pregunta es ¿cuanto tiempo me tardaría?
decirlo? Bien, veamos. Print, F, lo diría Dalto en, y aquí hacemos lo
mismo. Número de palabras dividido por dos entre 1,3,
que es el 30%. Segundos para decirlo. Y si actualizamos, ahí lo tenemos. Decimos una frase y calculo cuánto tardaría si tuvieras
que decirla ¿Qué estás haciendo, maestro? ¿Qué estás contando? Dijiste 5 palabras y te tomaría 2,5 segundos
decirlas. Dalto lo diría en 3,25 segundos. Bueno, Dalto lo diría en segundos. Ah, esto es demasiado.

Muy sencillo y ahí tenemos el programa. Incluso aquí, si quieren, pueden hacer lo anterior,
que es redondear y generar un número entero, ¿no? Por 100, espacio, doble división por 2 y luego
lo multiplicamos por 1,3 y luego lo dividimos por 100. Ahora si, si actualizamos tendríamos el
programa bien con dos decimales. Pues ahora sí, ahora vamos a poner un si. Si el número de palabras es mayor que 120, digamos
imprimir. Detente flaco, yo tampoco te pedí testamento. ¿Por qué? Porque 120 palabras son un minuto. Si el chico habla más de un minuto, dice
120 palabras. Entonces tenemos un recuento de palabras, 120. Si dices más de 120 palabras, te contamos esto. Entonces ejecutamos el programa y vamos a
comprobar si funciona. Ok, escribamos 60 palabras. La verdad es que armé un retexto, armé una
re frase, pero de esta manera no te pueden bajar, chabón.
Bien, veamos ahora. Dijiste 128 palabras y te tomaría 64 segundos
decirlas. Alto dirían 83,2 segundos. Y abajo me dice pare, flaca, que yo tampoco te pedí un
testamento.

Espectacular, muy bueno. Queda el programa, es funcional y vamos a explicar parte
por parte como funciona. De hecho vamos a poner el if, ahí va, pues así
funciona. Listo, ahora sí que tenemos el código completamente
comentado, funcional. y ya tenemos todo listo para poder decir que resolvimos
el ejercicio 2. Incluso A y B juntos, o sea, ni siquiera tardamos, ni
siquiera tuvimos que separarlos. porque más o menos podríamos hacerlo todo con
uno solo. Y ya tenemos listo el primer tramo del ejercicio. de este
curso de Python. Estoy muy feliz, estoy muy feliz porque lo logramos
terminar. Ahora sí, gente, podemos continuar con la segunda parte
del curso de Python, que es, digamos, una sección básica intermedia, porque ya estamos avanzando un poquito más
adelante y eso, Lo que vamos a ver ahora es básico medio
intermedio. Es básico pasando intermedio, ¿vale? Así que
veámoslo. Bueno, ahora vamos a ver solo la segunda sección
de variables, que es una sección en el cual vamos a aprender un poco más sobre
variables y entenderemos cosas que antes No entendimos por qué estamos en un nivel un
poco más avanzado.

Entonces ya que estamos en este
punto les recomiendo que si no hicieron y no tomaron practicar todo lo aprendido antes de hacerlo,
ponerlo en práctica, tener su editor de código y estad atentos para
escribir y hacer todo lo que vamos a hacer entonces Presta atención y comenzamos, bueno primero lo que haré
será crear una nueva carpeta de variables. 2.0 variables 2.0 y vamos a obtener un archivo,
lo descomprimimos y lo guardaremos. como unpacked.pyton ahí estamos ¿Qué es el desempaquetado de variables? Está
bien, es una manera de que una técnica que tenemos Aquí en Python, que tiene tantos idiomas de pronunciación,
también básicamente para asignar valores a variables de una manera bastante
particular ¿como es eso? bastante simple, creemos, por
ejemplo, una tupla de datos, los datos serán igual a una tupla que va a ser Lucas ¿qué está desempaquetando?
bueno es una manera en lo cual repito podemos crear nuevas variables tomando
los datos de por ejemplo una tupla ¿como hacemos eso? bastante simple, ponemos
nombre coma apellido mismo dato eso es simple ¿como hacemos eso? eso es nombre simple
coma apellido, ¿a qué será igual el nombre? será igual al primer valor de la tupla
¿A qué será igual el apellido? será igual al segundo valor de la tupla si hasta pusiera un millon un millon
y aqui podria poner por ejemplo tambien tus suscriptores no tenemos un millón pero es el gran
objetivo entonces esto también funcionaría ¿Qué pasa si, por ejemplo, digo imprimir
nombre? Lucas me lo va a mostrar si le digo imprimir apellido me va a mostrar dalto y si digo
imprimir suscriptores me va a mostrar un millón ¿por qué? porque esta es la forma
en que desenvolvemos las variables.

Pretender que cada valor que pongamos
se colocará en cada uno de los elementos de la tupla Por eso es importante que entiendas que la encapsulación
funciona sólo si la cantidad de variables que pone es igual a la cantidad de
datos que tiene el RAI si el RAI tiene 3 datos crean 3 variables si el RAI tiene
2 datos crea 2 variables en este caso así Así es como puede funcionar la decapsulación.
desembalado digamos ¿verdad? A ver que resultados vienen aquí ponemos
desempaquetado y aquí ponemos creando una tupla esto funciona con tuplas con listas
y demás si yo, por ejemplo, intento crear una lista creando los datos aquí puedo poner datos en
tupla y aquí puedo poner datos en la lista entonces aquí hago lo mismo solo que lo reemplazo por un
bracket ahí estamos así que le pongo datos en tupla y debajo puedo poner algo similar
y notar que funciona bien funciona y ahora puedo poner datos en la lista y esto en
realidad también funciona porque el el desempaquetado se puede dar tanto para
lista como para tupla y también como para conjuntos no me permite descomprimir
números, lo cual es un hecho muy interesante.

Aquí tenemos exactamente estos datos ya creados
y tenemos esto precisamente que es el desempacar acaban de aprender a desempacar
¿de qué nos sirve esto? Nos sirve mucho y lo veremos más adelante
cuando veamos por ejemplo funciones ya que hay funciones que por ejemplo nos devuelven
tuplas y si hay funciones que nos devuelven tuplas tambien hay funciones que nos devuelven
listas y si hay funciones que nos devuelven listas y funciones que devuelven tuplas, podemos
simplemente crear información basada para equiparar algo a una función que nos devuelve Estos
datos que solicitamos ahora los veremos Bueno, luego estaré tranquilo pero así
es como se desempaquetan, es una interesante La forma de crear variables solo para eso es descomprimir
una lista y una tupla.

Qué paquetes verdad? paquetes de datos y lo
que hacemos es bueno le damos un dato a cada variable de esa manera descomprimimos bien ahora vamos
a regresar aquí y crear un nuevo archivo que será tuples.py y aquí vamos a crear tuplas que vamos
a poner dentro de variables porque Se ve que dejamos mover allí. ¿Existe una forma
muy interesante de crear tuplas? y es tupla tupla es igual a tupla es una función
que nos permite crear una tupla y aquí dentro simplemente ponemos los datos data1 data2
Por ejemplo si ahora muestro los datos print tupla pero tenemos que pasarle como parámetro una
lista que sea solo hay un parámetro que es una lista la
lista que me va a tuplicar ahora Vengo y pongo print tuple update y me dice dato1
dato2 voy a poner aquí creando tuplas con tupla pero también hay formas de crear
tuplas de una forma bastante particular vamos a poner tupla vamos a redefinir la tupla tupla igual
dato1 dato2 asi de simple creé una tupla si te digo muéstrame esta tupla
lo discutiremos por ahora Me lo muestro igual porque esta es una forma en la
que también podemos crear tuplas sin los paréntesis si solo ponemos los datos
separados por comas se crea automáticamente la tupla esto está aquí ok, esto es lo mismo
que esto es exactamente lo mismo ahora la pregunta es buena pero como creamos
tuplas con un solo dato bueno el formulario Si queremos crear un solo dato, ponemos los datos
pero al final ponemos una coma.

Porque porque si ponemos esto sin como esto
es una cadena una cadena ordinaria con la coma ahora es una tupla vamos a verificarla vamos a poner vamos a crear una tupla como
esta vamos a poner esto arriba lo vamos a descomentar ya que lo que hacemos aquí es redefinirlo
para que esto no afecte en absoluto esto creando una tupla sin paréntesis y aquí vamos a
poner creando una tupla sin paréntesis de un solo dato de múltiples datos entonces
aquí tenemos múltiples datos porque aquí básicamente lo que hacemos es separar
los datos con coma y aquí no hace falta la coma al final la coma al final no es necesaria entonces no
necesitamos agregarla de hecho si aqui quiero ver el tipo tupla esta ahi veamos si efectivamente
es una tupla si se comporta como una tupla y si De repente crearé la tupla solo
con un dato como hacemos como les dije antes tupla datos iguales y le ponemos una coma al final Entonces
de esta manera creamos una tupla con tupla de esta manera la creamos sin paréntesis y
de esta manera la creamos con un solo dato ok con un solo dato lo creamos de esta manera
verifiquemos si se creó la tupla esto también se crea es una tupla efectivamente
veo que funciona como una tupla y no es por esto porque recuerda que aquí lo podemos redefinir si ahora tupla es igual a esto no a esto sino
que a esto de hecho lo vamos a verificar si sacamos el tipo nos muestra la tupla ven y
ahora es tupla datos datos coma y ahí tenemos la tupla creada cuando debemos crear tuplas bien
podemos crear las tuplas cuando están datos, por ejemplo, de solo lectura, es decir,
cuando solo vamos a leer datos creamos tuplas lo Lo que pasa es que gestiona mejor la memoria ahora que
lo que hacen las listas para poder estar modificable es que guardan dos lugares en la memoria
y uno lo cambia y cuando uno es modificado modificar el otro luego modificar
la tupla y luego modificar el otro espacio en memoria modificar la tupla y luego modificar el otro espacio en la memoria mientras que la
tupla guarda solo un lugar en la memoria entonces de esta manera la tupla es inmutable
porque si reemplazas ese dato corres un riesgo que toda la variabilidad completa se borra por
lo que es importante que entiendas que básicamente se almacena una ubicación de memoria diferente en
una lista y luego se almacena la lista un lugar donde puedes usar procesos y demás,
mientras esto no sea así, entonces es Es importante que entiendas que las tuplas para leer
datos fijos y no para cambiar Son mucho más óptimos y es lo que recomiendo mientras
las listas cuando vamos a trabajar con datos que se van a modificar son lo optimo
es decir las listas para datos mas flexible Ahora vamos a crear otro que será set, sets
o sets, sets.py como porque estamos viendo variables 2.0 esto ya lo habíamos
visto todo pero aún así estamos Viendo cómo crear estas cosas, estamos viendo
cosas nuevas.

Por eso precisamente es la versión más avanzada de
variables es la que no conocías de las variables y así es como termina aquí todo
no hay otras cosas nuevas que aprender porque este es el último de los últimos Así que acaban de terminar de aprender
la importancia de cada aspecto. Bueno, también podemos crear los conjuntos
con una función de conjunto como ya vimos al principio. creando un conjunto con set y aquí es fácil tomamos
y ponemos conjuntos iguales set y aquí pasamos datos note que aquí me dice qué conjunto necesita
como parámetro, es un iterable y vamos a mira bien que es un iterable y otras cosas que
estamos por llegar aquí te damos una lista ok una lista que
por ejemplo puede ser dato 1 y devolver datos 2 aquí vamos a crear el set si le damos
Vamos a subir si estamos juntos y damos set de impresión de hecho se muestra aquí
set vamos a actualizar el conjunto de impresión
y ahora se muestran los datos 1 y 2, esto es espectacular ya tenemos el set funcionando ahora
que pasa cuando queremos poner un elemento modificable en otro no modificable recordar que los datos los datos por ejemplo de conjuntos
no son modificables, es decir, no podemos ven aqui y dices que set tal va a ser igual
a otro dato porque no funciona ¿Cómo podemos hacer para poner datos que sí se
pueden cambiar en datos que no se pueden cambiar? cambiar si ahora por ejemplo para configurar
pondría otros datos supongamos que estoy aquí dentro de la lista pongo una lista pongo una
lista dentro de otra lista esto es posible a ver pongamos una lista que son datos en la
lista 1 coma datos en la lista 2 actualizo Esto no me deja porque me dice que estoy pasando
una lista y la lista es un hash que básicamente no se puede aplicar hash dentro
del conjunto porque esos datos no se pueden modificar y la lista es mutable una lista puede mutar y aquí
solo pueden ir datos que no lo son mutar entonces deberíamos usar una tupla.
Si ahora reemplazo esto con una tupla, ven Actualizo una tupla y si ejecuto el programa
ahora me lo ejecuta porque las tuplas van dentro de otros datos así que tampoco funcionaría con un diccionario si
convierto esto en un diccionario ¿Qué pasa? Voy a mejorar esto un poco más si
lo convierto en un diccionario.

Lo que pasa es decir que tampoco me deja y esta es una lista ahora la cierro ahora
si, o sea tampoco me deja poner diccionarios porque dice que no se puede encontrar el set
pero como hago si quiero poner un set dentro otro buen set vamos a probar
a ver que pasa si lo saco ahora vamos a poner esto lo vamos a sacar vamos a hacer que este sea el conjunto
este es un conjunto común No vamos a venir aquí y meter un conjunto
dentro de otro conjunto. vamos a crearlo de la manera normal lo creamos bien el
set entonces aquí si quisiera poner un juego dentro de otro conjunto puse el conjunto 1 dentro del
conjunto 2 este conjunto tendrá datos 1 y datos 2 y debes crear otro conjunto con conjunto
y datos 3 por ejemplo esto no funcionaría este conjunto puede estar dentro de otro conjunto
pueden existir conjuntos anidados.

Miralo ahora te pongo muéstrame el set
2 y efectivamente me tira error pero no tiene un error para esto no tengo un error para
otra cosa ahora sí actualizamos y ahí no me deja ponerle un set otro
set como tengo que hacer si quisiera poner un conjunto dentro de otro buen conjunto
tienes que usar una función llamada conjunto congelado ¿Qué es un conjunto congelado? Aquí abrimos paréntesis
abrimos como para crear una lista y aquí hacemos lo mismo pero invertido cerramos la lista y
cerramos y esto también crea un conjunto pero crea un conjunto inmutable que se puede congelar lo
suficiente como para poder encontrarlo luego Ahora si actualizo esto y ejecuto el programa me estoy
metiendo con qué conjunto tan [ __ ]. 1 actualizo y si ejecuto el programa me dice
que ahora pude poner un set dentro de otro conjunto y de hecho este conjunto
se comporta como un conjunto normal es literalmente un conjunto normal aquí, el mismo que yo había
configurado, así que en realidad Esta línea nunca siempre se ejecuta. Esto se
está ejecutando, pero está bien si quieres.

Podemos regresar y verificar que esto
es cierto simplemente bueno voy a copiar todo esto y voy a volver a todo para que vean
que voy a poner el set 1 para que puedo ejecutar el set 1 y ahí me ven Dice que
no puedes poner un set dentro bueno voy a borrar esto que esta aqui ahora
si y voy a hacer esto porque como digo antes Estaba configurado, es decir, esto no se estaba
ejecutando esto no se estaba ejecutando Estaba ejecutando esto así que veamos,
explíquelo ahora, veamos que me arroja un error, sí.

Lo pego de esta manera y pongo el set congelado
actualizo y ya no me tira error entonces esta es la manera y la respuesta que nos llega para
dar set frozen que es poner un set dentro de otro conjunto ya que después
de este curso viene un curso La inteligencia artificial no está de más trabajar con
teorías de conjuntos, esto es importante. ya que si queremos trabajar con un conjunto si
estamos trabajando con conjuntos necesitamos entender lo siguiente en la teoría de conjuntos
tenemos por un lado lo que ha sido un conjunto y por otro lado lo que ha sido un
subconjunto que es como agarrar un par de datos del otro conjunto y crear un apartado,
es decir, si yo, por ejemplo, tengo el set a que tiene los datos que estamos
viendo y también tengo el set b que tiene los datos que Estamos viendo que a es un subconjunto de b porque
a solo tenemos tres piezas de información que son en el conjunto b solo que en b tenemos más
conjuntos que a es un subconjunto de b porque b tiene todo a y más es precisamente la teoría de
conjuntos un conjunto que incluye otro y además tiene más datos es un
superconjunto de otro conjunto, es decir, tenemos dos perspectivas la primera perspectiva
es que el es un subconjunto de b entonces a es un subconjunto yb
es un conjunto mientras que podemos tener la otra perspectiva es ver ab como un superconjunto
de aya es un conjunto depende del elemento que tomamos como referencia es decir
si decimos que b es un conjunto a es un subconjunto de por si decimos que a es un conjunto
b es un superconjunto de a esto Es la teoría que tienen que entender porque si queremos
trabajar de manera justa con los funciones tenemos que ver exactamente esta teoría
que es bastante interesante, así que lo vamos a poner en práctica y vamos a venir aquí poniendo
teoría de conjuntos vamos para crear el set vamos a crear nuevamente el set
1 y el set 2 va el set 1 para ser igual a un conjunto de números pongamos
1 3 1 3 5 y 7 números que sean impares y al conjunto 2 le vamos a poner 1 3 1 3 y 7 mas
o menos le vamos a poner estos tres numeros ¿Cómo verificamos? si un conjunto es un subconjunto de otro bien decimos
que el resultado es igual a en resultado verdadero o falso se va a almacenar porque estas funciones
que vamos a usar ahora nos devuelven Los valores booleanos verdaderos o falsos dicen que el conjunto
2 es un subconjunto del conjunto 1 de esta función.

Este método devuelve esos datos, es decir, el conjunto
2 es un subconjunto es un subconjunto subconjunto significa que es un subconjunto
del conjunto 1 veamos qué responde vamos a poner 4553
03:20:47,55
0 –> 03:20:49,180 imprimir
resultado y vamos a ejecutar esto y nos va a decir verdadero porque porque
es un subconjunto porque en conjunto 1 podemos encontrar 1 3 y 7 pero
si ahora cambiamos los números y decimos Che a ver el conjunto 1 es un subconjunto de
2 no porque el conjunto 1 tenga más cosas que entonces no o sea todo lo que esta en 1 no esta en
2 pero viceversa si es decir todo lo que está en 2 está en 1 entonces 2 es un subconjunto
de 1 actualizamos devuelve verdadero entonces Aquí vamos a verificar si es un subconjunto. otra forma de comprobar si es un subconjunto
o no esta usando el menor o igual aqui ponemos el resultado es igual al conjunto menor o igual al
conjunto 1 esto funciona exactamente igual es decir esta función y subconjunto o este cartelito es
lo mismo porque lo que verifica es que estos números son mayores o iguales a estos Es simple,
es una forma de verificarlo, ok verifiquémoslo comentemos esta
línea a ver si nos sirve nos devuelve verdadero efectivamente porque es una forma de verificar,
lo invierto nuevamente y pongo 1 y aquí pongo 2 funciona ahí estamos funciona
y me dices que no porque es por la cantidad de datos no es por la cantidad de datos porque
si aquí te doy menos por ejemplo 5 menos 10 por ejemplo si solo ponga menos 10 técnicamente la suma
de todos estos es menos no es para no es para la suma la actualizo igual me sigue dando true
asi que no tiene nada que ver con eso los numeros yo suman y nada en absoluto no es esa es una forma
de comparar si es un subconjunto o no es un subconjunto, por lo que estas son dos formas
válidas de comprobar si es un subconjunto y luego tenemos el La forma de verificar, copiemos y peguemos, si
es un superconjunto, en este caso es superconjunto Y ahora tenemos que comprobarlo al revés, el
cartel está al revés.

Aquí comprobamos si es un super set,
recuerda que esto depende de las perspectivas. Fíjate que es lo mismo, aquí simplemente lo
invertimos. Si tomamos este, la cabecita apunta hacia aquí.
Si tomamos este, la cabecita apunta hacia aquí.
Entonces tienen que verificar las perspectivas,
no lo olvides. La diferencia es que no usamos superconjuntos como
este, sino superconjuntos que usamos así. Es decir, si queremos comprobar que no es un subconjunto
lo ponemos al revés Para verificar que es un subconjunto, es decir,
para verificar que es exactamente igual a esto, ¿es esta la función? Y en este caso exactamente el que funciona es
el signo al revés Es decir, aquí tiene que ser menor o igual a
eso, y aquí tiene que ser mayor que Quiero decir, lo contrario Si actualizamos aquí y le pedimos que
muestre el resultado, que nos mostrará esto, no todos los demás Sólo nos va a mostrar, siempre nos muestra el último
que ponemos.

Aquí nos va a decir que es falso, porque juntos 2 no es superconjunto
del conjunto 1 El conjunto 1 es un superconjunto del conjunto 2.
Así que ahí funciona, exactamente lo que
hay aquí es literalmente lo contrario. a esto que esta aqui Es comprobar lo contrario, es un disparate. Superset es igual a esto, es una forma interesante
de verlo. Bueno, ¿y si queremos comprobar sólo si hay
un número en común? Lo volvemos a comprobar. esta forma Comprueba si hay números en común. Para eso usamos isDisjoint, mismo conjunto de resultados
2 es conjunto disjunto 1 Entonces de esta manera decimos, che, ¿hay algún
resultado común? Y aquí nos va a decir falso, ¿por qué? No es diferente, porque mientras haya un resultado en
común ya es el mismo. Aquí vamos a poner 2, 4, 6, 8. Tenga en cuenta que no hay ningún elemento en común.

Ahora lo ejecutamos y devuelve verdadero, porque
son diferentes. Esto será cierto sólo cuando los conjuntos
que se están comparando no tengan ningún numero igual Si solo hay un número, solo un número
que es igual, en este caso es 7 Actualmente me va a dar falso, porque ya existe
un elemento coincidente. Cuando solo coincide un elemento ya deja de ser
igual Es decir, ya no es completamente diferente. Y esto ya no es cierto Así que hicimos una comparación
y vimos efectivamente si esto funciona. o no funciona Así que vayamos ahora a la sección del diccionario, también
tenemos mucho que aprender. ok, tranquilo, vengamos aquí y creemos nuevo archivo, diccionarios.py y lo vamos a meter también dentro de las variables 2.0
y moverse Los diccionarios, como ya sabes, se pueden crear como
un json en javascript o con la función dictar creando diccionarios con dict y aquí ponemos y ponemos el mismo diccionario que
dicta la diferencia es que aquí lo que se va a preguntar
es un conjunto de claves de igual valor, es decir, la
estructura para crear un diccionario así es como se pone por ejemplo nombre igual lucas, coma, apellido igual dalto de esta manera creamos un diccionario y si venimos acá y le damos diccionario impreso cuando esto se ejecute nos arrojará el diccionario aquí si miras tenemos nombre: lucas, apellido: dalto porque efectivamente es como si creáramos
variables aquí bueno, ese es el parámetro que recibe esta función
lo que efectivamente nos da la creación
de un diccionario es una forma diferente de crear un diccionario En lugar de crearlo así, recuerdan que ellos
creamos así.

Nombre:lucas, en lugar de crearlo de esta manera apellido: dalto Quiero decir, no tenemos que creerlo así.
Podemos crearlo de esta manera, puedes elegir la
forma que prefieras. No olvides que la forma en que creamos datos
vacíos es con esto. No podemos crear diccionarios vacíos si usamos
la forma de crearlo así. Si queremos crear diccionarios vacíos, podemos
usarlos con esta fórmula. No podemos crear tuplas vacías a menos
que usemos tuplas, la función No podemos crear listas vacías a menos que
usemos list. Funcionó, pero es importante entender esto.
en dict funciona igual, es decir, las tuplas no
pueden ser las listas no pueden ser claves porque son bastante
iterables Aquí vamos a ver por ejemplo, las listas no pueden
ser claves porque son mutables.

Si ahora aquí por ejemplo creo un diccionario mismo diccionario, aquí intento crear el diccionario con
una lista por ejemplo Si lo hago con una tupla, si te fijas, puedo hacerlo
con una tupla por ejemplo, no se, dalto y stale, aqui puedo
poner dos puntos, jaja Actualizo, esto me lo muestra, las tuplas pueden
ser claves literalmente estamos poniendo una clave tipo tupla
pero si lo hago con listas, es decir, reemplazo
el paréntesis por el corchete que hace que listo Ahora me sale un error porque no es hashable, lo
que vimos antes no funciona ni puede hacerlo, ni pueden ser
por ejemplo los sets Si quiero poner un set aquí tampoco
me sale porque no es hashable aquí podría poner por ejemplo un set congelado Si aquí pongo frozen set, por ejemplo, aquí pongo
paréntesis, aquí estaba hablando como una lista Aquí lo mismo, listo, aquí va, sí lo estoy, lo
actualizo.

Ahora si me dejas poner el set, set
congelado no olvides que es muy importante ahí va, ahí lo pongo, las listas no pueden ser claves si
usamos frozen set para poner conjuntos, ¿no? ahí lo tenemos, perfecto Entonces otra forma de crear diccionarios es
con las claves. crear diccionarios con claves from Esta es una función que nos permite crear un diccionario
con todos los valores none. es decir, sin valor, sin asignar, ¿cómo hacemos
eso? simple ponemos, el diccionario será igual a desde las claves
pero aquí lo que hacemos es crear por ejemplo
claves, no sé, nombre si ahora ejecutamos esto nos dirá que bueno
está mal ¿Por qué esto tiene un error? ok, el error
es porque este es un método de diccionarios entonces tenemos que poner dict, que es el valor
del diccionario, dict es un tipo de hecho dict, punto, from claves y aquí lo creamos, actualizamos
y ejecutamos el programa Ahora mira quién nos creó.

Y el valor es literalmente ninguno, es n, dos puntos
del apellido o dos puntos del apellido ¿Por qué estás tirando mi nombre? es interesante esto
porque me esta haciendo que cada valor, note que
cada letra, nombre cada letra será igual a la primera que puse
aquí ¿Cómo evitamos esto? ¿Por qué
funciona esto? debido a que esto itera el primer elemento, es iterable
entonces tenemos que poner una lista y ahora
sí cerramos la lista.

Y cuando ejecutamos creamos nombre, dos puntos
ninguno, apellido, dos puntos ninguno y si seguimos sumando datos, suscriptores y
demás Esto básicamente crea todos los datos para nosotros
y todos los valores, ninguno. Aquí por ejemplo decimos muéstrame un diccionario, nombre,
no nos mostrará ninguno. diccionario, apellido, no nos mostrará ninguno
y así con cualquier dato que le pidamos esto se debe a que es una forma de crear diccionarios con
todos los valores indefinidos Es interesante la técnica en la que podemos crear un
diccionario simplemente con solo pasar una cadena de texto lo que
acabamos de mostrar Por ejemplo aquí paso una sola cadena de
texto que dice abcde Toqué esto para sacar, no va, ahí va Ejecuto esto y ahora creo un diccionario con
abcde.

Todos los valores con ninguno excepto abcde, no, lo
sé si te diste cuenta incluso si hago como antes y pongo otro valor
como por ejemplo el valor 2 lo que hace es igualarme abcde y siempre lo
pongo igual al valor 2 por defecto viene así, así que si le pasamos
un segundo valor lo que hace siempre es igual a esto entonces los primeros datos son iterables, algo
que podemos iterar y el segundo dato es lo que vamos a igualar a partir
de claves, es interesante entonces en este caso será, por ejemplo,
igual a algún valor fijo con dos parámetros y luego podemos hacer lo
mismo aquí Aquí podemos pasar una lista por ejemplo,
podemos poner nombre y apellido por ejemplo y aquí voy a poner no sé, no sé y aquí abajo simplemente te doy el nombre y apellido
y los valores predeterminados serán ninguno valor predeterminado, ninguno luego vamos a cambiar su lugar, cambiando el valor
predeterminado a no lo sé Aquí tenemos un nombre, no sé, apellido, no ÉL
y funciona igual, así funciona esta sección
de diccionarios Ahora bien, ¿cómo podemos simplemente iterar un
conjunto, por ejemplo? porque si, las listas, si recuerdas, los diccionarios
los podemos llamar así decimos por ejemplo nombre y llamamos al valor digamos por ejemplo tupla, uno y me muestra los
primeros datos decimos listas, una y me muestra el primer dato
pero los conjuntos, ¿cómo podemos ver el valor
de un conjunto? ¿Cómo podemos, por ejemplo, llamar a dos? ¿Cómo llamamos a dos? o como hacemos para que me muestre los siete? solo los siete para esto tenemos que iterarlo, porque los conjuntos
son iterables pero ¿qué es toda esta iteración? ¿De qué
estoy hablando? Todo esto lo veremos en el siguiente apartado ¿Qué
es la sección de bucles? así que veamos qué son los bucles cadena y ahora vamos a ver bucles Ahora vamos a ver bucles.

Ok, si esta grabando podemos empezar ahora vamos a ver bucles podemos empezar ahora vamos a ver bucles podemos empezar ahora vamos a ver bucles Exacto, ya es un ejemplo de bucle. Bueno, ya dejando un poco la joda de lado, eso en
realidad es un loop. Repetir la ejecución de forma controlada de un
código. Bueno, para empezar necesitamos entender qué
es lo que surge al iterar. Porque los bucles son estas declaraciones que
nos permiten iterar un elemento. ¿Se puede iterar todo? Bueno, no.

No todos los elementos se pueden iterar,
solo los elementos iterables. Ahora bien, ¿qué es un elemento iterable? Bueno, un elemento iterable es un elemento
que viene, digamos, tiene un iterador que define cómo iterar.
No todos los elementos son iterables. Pero básicamente un elemento puede ser
iterable. cuando tienes algo que define cómo vas a iterar.
La primera iteración será de aquí hasta aquí.
El segundo de aquí para aquí. El tercero de aquí para aquí. Si no tienes nada dime como vas a iterar,
es decir, ¿cómo vamos a repetir el código? y de que manera vamos a recorrer todo el elemento,
porque eso es lo que es iterar, es atravesar un elemento, atravesamos un elemento en bits. Esos pequeños fragmentos y la forma en que se saltan
esos fragmentos. Simplemente están definidos por un iterador. Entonces la pregunta es ¿cuáles son los
elementos iterables? Bueno, por defecto, las listas, porque tienen varios
elementos.

En otras palabras, básicamente, una forma de iterar una lista
es Primero un elemento, luego otro, luego
otro. Lo mismo en las tuplas. Punto 1, Punto 2, Punto 3, Punto Cuatro.
Tienen elementos sobre los que iterar. Es decir, bueno, toda la tupla son datos. Y si la tupla tiene cinco elementos, Hacemos cinco iteraciones, una para cada elemento. Podemos dividir la tupla completa en cinco partes.
y vamos a iterar y repetir el código cinco veces,
uno para cada parte de ese código. ¿Por qué? Porque es sencillo. Las listas ya están definidas para ser iteradas de esa
manera. Las cadenas también se pueden iterar, Vamos a ver cómo, los diccionarios, los conjuntos.
Así que entremos en todo este mundo
y comencemos. Para empezar tenemos sólo el primer bucle,
el primer tipo de bucle que es FOR, que es el más famoso de todos los bucles,
el bucle FOR. Y FOR es un bucle que nos permite iterar, crear
una iteración. Entonces comencemos a trabajar con FOR.

Para comenzar crearemos una nueva carpeta,
¿cuál será? LOOPS y un nuevo archivo para llamar ITERAR-LISTAS.PYTON Y aquí vamos a iterar listas. Pero veamos, antes de comenzar a iterar listas y
usar el bucle FOR, de hecho, podemos empezar ahora mismo. Quiero que entendamos completamente el concepto
de FOR. Más bien, el funcionamiento de FOR. En Python, los bucles son FOR IN. En otros idiomas tenemos el FOR que tiene tres
condiciones ¿no? Es decir, I es igual a 0, y mientras I sea mucho
más pequeño, I más o I menos. Esa famosa y genial forma de hacer bucles. Python lo hace completamente simple. Y Python usa FOR IN. ¿Qué pasa ahora que es un FOR IN? El FOR IN es un bucle que justo lo que hace
es crear una variable que en cada turno va a ser igual a ese bit de variable que estamos
equiparando Ok, pensemos mejor en nosotros mismos.

Veámoslo ahora en voz en off. Ok, supongamos que tenemos una lista de animales. que será igual a perro, gato, loro y cocodrilo. Una lista con cuatro elementos. Bastante simple hasta ahora. Ahora, ¿cómo iteramos esta lista con FOR? Simple. Primero decimos PARA animal en animales. Ponemos los dos puntos y ya podemos ejecutar el
código. La pregunta es ¿cómo será el animal? Fácil. La primera vez que se ejecuta el código, animal será igual al primer elemento, es decir,
perro. De hecho, si utilizamos un animal print para mostrar qué tiene la variable
animal dentro, ¿Qué nos va a decir el perro? Cuando termina de dar la vuelta a la manzana, Verificará si hay más elementos en este listo.
Si hay más elementos, entonces se debe ejecutar.
Pero ahora, animal es igual al siguiente elemento, Quiero decir, gato. Es decir, en esta ronda nos va a mostrar gato.
Terminar de ejecutar, preguntar nuevamente
si hay elementos y ahí está el loro.

Entonces, en el siguiente turno, el animal es lo
mismo que el loro. Nuevamente finaliza la ejecución y pregunta
si hay otro animal. Y sí, está el cocodrilo. Así que corre hacia atrás y ahora el
animal es lo mismo que un cocodrilo. Ahora pregunta de nuevo y no hay más animales.
Luego el bucle termina de ejecutarse. Y ahora sí, pasamos a la siguiente instrucción. Entonces, en última instancia, El programa funcionaría de la siguiente manera. Creamos la lista luego ejecuta el bucle tantas veces como animales
lo hayan hecho, y cuando ya no te queda más, el programa continúa
con su flujo natural. Es bastante fácil, ¿vale? Pongámoslo en práctica ahora. iterando una lista. Es por eso que creamos ese elemento para que esté listo para
iterar. Repitamos un poco. Vamos a iterar cadenas de texto, vamos a iterar diccionarios,
Comencemos iterando listas. En todas partes, si quieres saber cuál es
mi estado temperamental, corporal, perdón.

Estoy bien. Estoy bien. Ahora no me voy a prender fuego. Es decir, pueden estar seguros de que, Ahora ya no hay 34 grados. Veamos cuánto hay ahora. Son 32 grados. Ah, por otro lado, pasamos a la final. Como les dije, vieron que les dije que íbamos a pasar
a la final. El 8 de diciembre les dije vamos a ganar cuartos de final y vamos a ganar semifinales. Y ahora llegan las finales. Para mí es obvio que Francia va a ganar. Y ahí tendremos la gran final entre estos dos
países. que realmente merecen llegar a la final. Que son Argentina y Francia. Y el ganador final ahora sí. Que hermoso. Será Argentina.

Bueno, basta de charlas, basta de tonterías. Comencemos a escribir el código. Para empezar es sencillo. Vamos a crear una lista llamada lista de animales,
así era como lo teníamos allí. Y vamos a crear un gato, un perro, un loro y
un cocodrilo. Bien, fácil. ¿Cómo revisamos esta lista? Bueno, ponemos un animal en animales. Dos puntos y ahora veremos que si ponemos huellas
animal, cuando ejecutamos este código. Ah, enumeré los mismos animales, qué salami. Perdón animales, quería poner animales iguales. Ahora sí, no sé qué hice. Ejecutamos este código, gato, perro, loro,
caimán. Bueno, en realidad ahora podemos decir que la variable
animal es igual a dos puntos. La variable, vamos, cerramos y ponemos la F
adelante. Si ejecutamos dados, ahora la variable animal es
igual a gato Ahora la variable animal es igual a perro.

Ahora la variable animal es igual a loro. Ahora la variable animal es igual a cocodrilo. Es fácil, porque el animal va a correr tantas
veces como sea posible. Ya sabes, si ahora le agregamos una nueva variable,
por ejemplo, pescar y ejecutar, debajo se agregará el pescado. Ok, y si lo ponemos al principio, vamos a ponerlo
delante de gato. y le ponemos coma, ahí está, se ejecutará el primer
pez. Así funciona Google For, es fácil. Animal es una variable que se creará solo para ser
utilizada. aquí dentro, es decir, dentro de este código de bloque,
dentro de este bloque de código. Por eso es bueno, porque de esta manera podemos
recorrerlo. Es decir, si nosotros, por ejemplo, queremos
hacer cosas como…

No lo sé, creemos otra lista que sea de números, sea
igual a… Creemos una lista de números. 10, 62, 12, 70. Y queremos, por ejemplo, mostrar todos los números.
y multiplica esos números por dos, por
ejemplo. Bueno, animal igual resultado para dos. En este caso vamos a cambiar la disposición que pongamos.
Es más vamos a hacer una cosa, esto es lo que vamos a
dejar así, tal y como estaba. Ok, ahí está, y nos vamos a poner recorriendo la lista
de animales. Y ahora vamos a bajar aquí y poner, por número,
en números, Dos puntos, y aquí decimos. Sumemos estos números que habíamos agregado
antes. Agreguemos cualquier otro número ahora. Y aquí lo que voy a hacer será que el resultado
será igual a número por 10, por ejemplo, lo multiplicamos por
10 Y ahora digamos, imprimir el resultado. Entonces, si actualizamos este bucle, le
daremos 520, 160, 140 y 720. ¿Cuáles son estos valores multiplicados? para
diez. 52 por 10, 520, 16 por 10, 160, 14 por 10.140, 72 por 10.700.

4925 03:38:09,130
–>
03:38:12,640 Y de
esta manera podemos hacer muchas cosas, porque
supongamos que No lo sé, tenemos una lista con elementos
o no tenemos elementos con objetos. Tenemos un objeto y lo tenemos que mostrar, che,
a ver, Muéstrame cuáles son todos los productos que
tienes disponibles. Y tengo disponible papá, tengo disponible huevo,
luego todos los productos disponibles se agregan
a una lista Y ahí se los mostramos. Tenemos patatas, tenemos huevos. Y entonces, es fácil, es realmente interesante la
forma en que Podemos trabajar con elementos como este. Más adelante veremos muchas formas similares de
trabajar, pero esta es una forma interesante de prepararse.
En realidad, es la forma de recorrer listas, no
una forma interesante. Solo tengo muchas muertes, solo se han dado
cuenta. Quiero decir, esto es realmente muy interesante, o Es muy interesante que aprendamos esto porque es
una muerte mía, pero es la forma de hacerlo, digamos.

A esto le vamos a agregar un comentario que sea,
recorriendo la lista de números y multiplicando cada
valor por 10. Veamos, cada valor multiplicándolo por 10. Y ahí más o menos nos quedamos con este dato de que está
aquí. Ok, hasta ahora todo está bien. Ahora la pregunta es, ¿qué haríamos si
quisiéramos, digamos, iterar sobre dos listas? ¿Cómo hacemos dos iteraciones
al mismo tiempo? Bueno, la forma es sencilla. Si queremos iterar dos listas, podemos poner un for dentro de otro for,
que están anidados, o dos para juntos. Pero la forma es usar una función particular que
es zip. Hagamos. Si quisiéramos iterar ambas listas juntas, ¿cómo
lo haríamos? Bueno, primero las listas deben tener la
misma cantidad de elementos. En este caso, por ejemplo, tenemos peces, gatos, perros,
loros. Hay cinco elementos. 4960
03:39:29,130
–> 03:39:30,569
Vayamos ahora al elemento pez. Así nos quedamos con el mismo número de elementos arriba
y abajo. Aquí ponemos número, coma, animal, por ejemplo.
Aquí ponemos zip. Y aquí enumeramos uno y enumeramos dos. En este caso serían animales y números.

Aquí ponemos dos puntos. Y debajo, si prestas atención, podemos poner print recorriendo
la lista uno, dos puntos. Y aquí agregamos el animal. Aquí ponemos la F. Y aquí ponemos número. Y debajo ponemos animal y enumeramos dos. Si ejecutamos esto, aquí, si observa la lista
uno, dos. Pasando por la lista uno, pasando por la lista dos. De esta interesante forma con la función
zip, podemos recorrer dos listas al mismo tiempo. clima. Esto es muy interesante. Voy a eliminar lo anterior rápidamente. Actualizamos y si te das cuenta, simplemente vamos
a mostrar este código. Es básicamente un bucle en el que podemos
acceder al valor de retorno del primer elemento. en ambos casos. Entonces la segunda vuelta será igual
al segundo valor en ambos casos. El tercer turno será igual al valor. Y esto es realmente excelente. Es excelente. La verdad es que es muy usado y sé que recomiendo
usarlo cuando quieras iterar dos elementos de la misma lista.

Podemos iterar dos y tres. Aquí también si tienen otra lista, también con
cuatro elementos pueden poner algo de simplificación. de la lista tres. Y aquí pon la lista completa tres. Y también funciona con más de dos listas. Esto es interesante. Literar dos listas del mismo tamaño al mismo
tiempo. Entonces iteramos dos listas al mismo tiempo. Esta característica es interesante. Lo único es que esto se repite al mismo tiempo. Es decir, no es primero todo uno y luego todos los
demás. Es uno, otro, uno, otro. Enumere uno, enumere dos. Enumere uno, enumere dos. Es decir, elemento uno, lista uno, elemento
uno, lista dos. Punto dos, lista uno, punto dos, lista dos.
Punto tres, lista uno, punto tres, lista dos.
Punto cuatro, lista uno, punto cuatro,
lista dos. Y entonces. Bueno, entonces también lo que podemos
hacer para iterar es iterar usando la función rango. Es decir, si hacemos esto por ejemplo y utilizamos
la función rango. Iterar el número en… Aquí podemos poner cualquier cosa, lo que
queramos. Pero lo interesante siempre es poner nombres que coincidan
con lo que estamos haciendo.

Iterar para num, vamos a poner en lugar del número num
en el rango. Y aquí si pongo de cinco a diez. Básicamente, esto va a ejecutar números del cinco
al diez. Entonces pongo dos puntos aquí y digo print
num. Lo que esto me va a mostrar, básicamente,
es lo que vamos a ver debajo de todos los demás. Son cinco, seis, siete, ocho, nueve. Si defino dos parámetros para el rango, el primer
parámetro es donde comienza. Y el segundo donde termina. Me explico, aquí pongo veinte. Así que empiezo en diez y termino en veinte. ¿Venir? Diez, once, nueve, hasta diecinueve. Veinte nunca cuentan, es el primero
incluido y el último no. Digamos veinte números. Son diez números, lo siento. Es decir, pasamos de diez a veinte. Veinte no contamos, diez sí. Y si no ponemos dos parámetros, solo ponemos
uno.

Comienza desde cero hasta el número que le indicamos. ¿Venir? Cero, uno, dos, tres, diecinueve. Si le decimos que queremos hasta cinco,
pasa de cero a cinco. Si no pasamos ningún número hacia adelante
y solo pasamos un número en lugar de dos. El único parámetro significa desde cero hasta el,
déjanos decirte Ahora puedes decir, ah, para, para.
En otras palabras, si de repente quiero ir a una lista,
también puedo hacer esto. Puedo decir, por ejemplo, números y lo bloquearé
en len.

Entonces, si tengo aquí la cantidad de números,
lo que puedo hacer aquí es decir números núm. Entonces aquí me va a decir exactamente lo mismo,
cincuenta y dos, dieciséis, catorce, Setenta y dos. Estamos recorriendo una lista por índice, ¿por qué?
Porque los números nos muestran la cantidad
de elementos que tiene este. Tiene cuatro elementos. Bien, entonces empieza de cero a cuatro. En el primer turno, esto será cero y cero números
es igual a esto. El número uno es igual a esto. Es una forma de recorrer una lista, pero esta
forma no es óptima. Luego vamos a poner una forma no óptima de recorrer
una lista. La forma correcta de hacerlo es con la
función enumerar. Vamos a poner la forma correcta de recorrer una lista
con su índice. La forma correcta es para num in y aquí ponemos números
de enumeración.

Entonces, si bajamos aquí, ahora num
será igual a dos variables. Num es igual a una tupla. Si le decimos que nos muestre escriba num, van
a ver qué número Amigo, ahora si. Van a ver que num es igual a… Ah, no lo demostré, que idiota. Imprime, ahora si, actualizamos. Las tuplas, son tuplas. ¿Pero qué nos va a devolver? ¿Qué tupla nos devuelve? Bueno, veamos qué tupla devuelve. Si actualizamos nos devolverá que las tuplas
son 0, 1, 0, 2. Es decir, el primer valor que nos devuelve es
el índice. El segundo es el valor. Entonces, si queremos acceder al índice del elemento,
simplemente hacemos esto.

Aquí tenemos el índice. 0, 1, 2, 3. Y si queremos acceder al valor, ponemos el uno.
Y si queremos acceder a ambos simplemente decimos
que índice es igual a num 0 e igual valor numero 1. Entonces ahora podemos mostrar en la pantalla, el
índice son dos puntos. Y el valor es que copio y pego esta variable y reemplazo
índice por valor. Entonces lo ejecuto y me dice que el índice
es 0 y el valor es 52. El índice es 1 y el valor es 16. Y esta manera es una manera correcta. Porque si haces esto te vas a reír
a carcajadas Es decir, fuera de jodas se van a recargar de
risa.

Dejemos eso para otros lenguajes de programación.
que no tienen la posibilidad de tener funciones como enumerar. Esta es la forma correcta de recorrer una lista
obteniendo su índice. Déjame explicarte si necesitas obtener el índice
de la lista. Porque a veces necesitan conseguirlo. A veces es muy útil obtener el índice. Bueno, este es el camino. Y finalmente también podemos usar el
else en el for.

Es decir, por lo demás. Usando lo demás. Si al final de una lista, al final de un for, al final
de un bucle, lo siento. Le agregamos el else, lo vamos a poner igual. Por números, o número, en números, dos puntos.
Imprime, ejecutando el último bucle. Valor, dos puntos actuales, espacio, número. Ponemos la F adelante. Y debajo ponemos lo demás. Si ponemos el else aquí, no hará nada. Tienen que estar a la altura. Es decir, termina el para aquí abajo.

Entonces ponemos el else como si fuera un if.
En lugar de un si, un más. Por lo demás, dos puntos. Y aquí vamos a ejecutar print. El bucle terminó. Entonces ejecutamos el código. Y ejecutando el último bucle. Valor actual, valor actual, valor actual. El bucle terminó. El resto dentro del for se ejecutará para siempre.
De hecho, sin números pares. Los números son una lista vacía. Cuando lo ejecutamos, aunque no haya datos.
Tenga en cuenta que ejecutar el último bucle no
hace esto. Hay esto aquí, que es del bucle anterior,
que es el de aquí. Ni siquiera. Porque no está funcionando. Ahora la variable animal es igual a… Estos no ejecutaron ninguno de estos bucles. Porque todos estos bucles iteran a través de números. Y si el número es cero, ninguno de
mí lo va a andar. Esto siempre funciona igual. En caso de que no haya elementos que recorrer. Si esto no me va a andar, pues que me demuestre
lo demás.

Es decir, el else siempre se muestra una sola
vez. Sólo una vez y está al final del ciclo. Alguna vez ha sido ejecutado o no. Me muestra lo mismo. Es como algo que siempre me mostrará el final
del ciclo. De hecho aquí en el else, si probamos por
ejemplo el valor número. Venimos aquí y ponemos número. De lo contrario no nos mostrará nada. Literalmente el número me dice que él no está ahí definido.
Usando el para lo demás. Ahí estamos, ahora sí. Esto también funciona exactamente igual con las
tuplas. Así como hicimos esto, también podemos hacerlo
con las tuplas. Es decir, cualquiera de estos valores puede ser sustituido
por una tupla. Ellos van a ver. Si yo aquí por ejemplo, esto que está aquí. Voy a copiar esto. Y esto de arriba también. Voy a copiar esto aquí. Y voy a regresar para que tengamos números
aquí arriba. Allí va. Y aquí abajo voy a pegar esto. Hay. Si reemplazamos esto con una tupla. Todos los bucles funcionarían exactamente
igual. Lo cierro ahí.

Actualizo y si están arreglados. Lo mismo. Funciona exactamente igual. Quiero decir, funciona igual. Entonces voy a reemplazarlo. Iterar listas. cambiarme el nombre Liza. Tuplas de barra. ahí tenemos Iterar listas y tuplas dot py. Esto funciona. Aquí abajo todo lo pondré todo. Lo anterior funciona exactamente igual para
tuplas. Entonces ahí estoy. Y ahí lo tengo todo como está. Abarca listas y tuplas. Ahora vamos a crear otro archivo para iterar conjuntos
o conjuntos. Iterar conjuntos de puntos py. Lo mismo. Si vengo aquí copio esto. Copiemos todo el código. Peguémoslo aquí. Demos el control h para reemplazar. Reemplacemos. Lista por conjunto. Presioné enter y ahí fue reemplazado. Y lo voy a hacer así.

A ver si lo reemplazan. Eso es todo. Ahora sí. Todas las listas ya han sido reemplazadas por conjuntos. Todo lo que dice lista ha sido reemplazado. Sólo que ahora vamos a reemplazarlo. Juntémonos. Y vamos a comprobar que realmente funciona igual.
A ver si funciona igual. actualizar. Y ahora me sale un error. Porque en este caso no podemos actuar pasando por conjuntos
como este.

Aquí si miras no es óptimo. Guardemos esta forma de hacerlo. Actualicémoslo. Y ahora funciona. ¿Ves por qué no era una forma óptima de iterar
bucles? Incluso si quisiéramos convertir una lista o una
tupla en un conjunto. No podemos usar esa función. En su lugar, podemos usar la función enumerar. Aunque decimos que la forma de llamar a un dato
en un conjunto es así. Por eso es importante entender que los conjuntos básicamente
iteran de la misma manera. Sólo tienen algunas diferencias como las
anteriores que son importantes. Estamos aquí, por ejemplo, pasando por dos sets.

Lo mismo atravesamos dos conjuntos. Entonces tuplas y listas. Para que también tengamos la forma en la que
podamos caminarlo. Es decir, incluso vamos a eliminar este elemento. Más fácil. Eliminemos este elemento. Vamos a renombrar este elemento que está aquí. Y vamos a poner elementos iterados. Porque ahora que saben que todo se repite igual.
Que le voy a poner funciona exactamente igual para
tuplas y conjuntos. Y aquí arriba vamos a poner que no funciona en conjuntos.
Y ahora vamos a ver cómo funciona un diccionario.
Porque eso sí ya los diccionarios funcionan diferente.
Los diccionarios tienen algo bastante particular. Agreguemos lo mismo. Iterar diccionario.py. Y para iterar un diccionario lo hacemos de
la siguiente manera.

Primero creamos el diccionario. Diccionario igual nombre, colon fluca,
apellido, dos puntos alto. Estornudé como una bestia. Pongamos a Dalto y Lucas. Vamos a poner subs de suscriptores, dos puntos, Un
millón, uno, dos, tres, uno, dos, tres. Y aquí agregamos las comas correspondientes. Aquí tenemos el diccionario. Si lo mostramos en pantalla nos muestra el diccionario.
Ahora, ¿cómo lo superamos? Lo mismo. Para ingresar la clave en el diccionario, dos puntos, imprimir la
clave. A ver qué me muestra. Me muestra clave. Porque la clave es la clave. Cuando ponemos clave en el diccionario lo que estamos
mostrando es sólo la clave.

¿Cómo conseguimos que nos muestre los valores? ¿O cómo conseguimos algo? Lo mismo. Estamos revisando el diccionario pero ninguno nos
muestra el valor. Sólo nos muestra la clave. Y aquí si ponemos valor no nos cambiará
nada. Lo mismo. Porque esto no cambia nada. Es exactamente lo mismo. Ponemos valor. Y actualizamos y es lo mismo. Nos muestra las mismas claves. Nada cambia. La forma es utilizar los elementos puntuales. ¿Recuerdas eso antes de que usáramos los elementos de puntos? Y les dije que esto era para iterar el elemento. No parece funcionar en absoluto, pero
nos permite iterar. Bueno, si vamos a F5 ahora verán que estamos
iterando el elemento y accedemos ambos.

Esto nos devuelve una tupla con un par clave-valor. Exactamente lo que estaba diciendo antes. Para ello ahora entienden que estamos utilizando elementos.
Si yo, por ejemplo, ahora digo clave. En este caso serían datos. La clave será igual a los datos. Cero. Y valor o valor será igual a datos. Uno. Entonces si actualizamos ahí tenemos Si los mostramos en pantalla. Imprimir. La clave es el espacio de dos puntos. Llave. Y el valor es un espacio de dos puntos. Valor. Actualizamos y ejecutamos esto. Cuando digo actualizamos es porque toda la
vida dije actualizar. Pero en realidad es que ejecutamos el código. Lo ejecutamos con F5. Le damos correr, correr. Lo actualizo. Ejecutamos el código y ahí tenemos esto. La clave es el nombre y el valor es Lucas. La clave es apellido y el valor es dalto. La clave son subs y el valor es un millón.

De esta manera estamos atravesando un diccionario. Luego ponemos un diccionario transversal con elementos.
Para obtener la clave y el valor. Y vamos a hacer exactamente lo mismo. Pero vamos a obtener los elementos del de arriba. La clave es clave. Y sólo va a ser lo mismo que aquí. Allí va. Recorrer el diccionario para obtener las claves. Con esto obtenemos las claves y valores. Mientras que sólo arriba nos llegan las claves.
Es decir, aquí obtenemos únicamente las claves. Y aquí obtenemos las claves y los valores. Allí tenemos dos formas diferentes de recorrer un
diccionario. Interesante, ¿verdad? Veamos algo a continuación. Si repito el elemento. Voy a crear un nuevo archivo aquí. Que será masiterations.py. Y aquí vamos a hacer algo interesante. Vamos a crear una lista que tendrá por ejemplo
nombres. O frutas. Una lista de frutas que serán iguales. Plátano, manzana, ciruela, pera, naranja, granada. No la munición sino la fruta de la granada,
está deliciosa. Y melocotón. Ahora si hago lo mismo. Para fruta en frutas. Dos puntos y lo mismo.

Imprimir fruta. Camino fruta. Bueno. Eso es todo. Me recorre y me muestra todos los frutos. Pero supongamos que estas son las frutas que
voy a comer. Entonces agarramos y ponemos. Lo ponemos entre paréntesis.
5317
03:51:49,130 ​​–> 03:51:51,279
Ponemos los brackets entre tirantes. Aquí ponemos una F y aquí ponemos. Voy a comer uno. Voy a comer un plátano. Voy a comer una manzana. Voy a comer una ciruela. Se comen todas las frutas.
5324
03:51:59,130 ​​–> 03:52:00,630 Pero
supongamos que de repente digo. Che mira pero la verdad que. Y no me gusta la granada. Y aquí lo que tengo que hacer es decir lo siguiente.
Si, está bien. Si fruta es igual a granada. Abrimos condición. Y aquí pondré continuar. ¿Qué hace la continuación? La continuación dice bien. El bucle va a terminar el bucle y vamos a saltar.
Todo lo que hace. Porque vieron que el bucle da varias vueltas.

Ronda 1, ronda 2, ronda 3. Si tiene 5 elementos da 5 vueltas. Ronda 1, ronda 2, ronda 3. Supongamos que en cada turno hay 5 instrucciones. Si la declaración 3 es continuar. Y continúa corriendo. Todo lo demás no importa. Salta a la siguiente vuelta. Así que actualizo. Me dice que me voy a comer todas las frutas. Pero la granada desapareció. Porque cuando la fruta vale la granada. no decimos Voy a comerme una granada. Nos lo saltamos antes. Y ahora si pasas a la siguiente fruta. Durazno. Y dice como un melocotón. Si te lo contamos aquí Realmente no me gustan las manzanas. No me gustan las manzanas. Ejecutamos. Y ahora corre. Y come de todo menos la manzana. Bueno. Porque cuando el fruto es una manzana. No lo come. Luego pasamos a la siguiente ronda. Porque aquí se come la fruta. Pero no queremos que llegue aquí. Pero queremos que el bucle siga funcionando. Entonces pasamos. Ahora supongamos que aquí vamos a poner. Impidiéndole comer una manzana.

Con la frase continúa. Ahora imaginemos eso de repente. Lo sabemos cada vez que comemos. Una pera. Por ejemplo. Ejecutemos el mismo código. Hay. Lo sabemos cada vez que comemos una pera. Cada vez nuestro cuerpo recibe una pera. Le duele la barriga y no puede continuar. Evite que el bucle continúe ejecutándose. Cómo se dice Bueno, mira, eso es todo. Te comiste una pera. Te va a revolver el estómago. No comas más. Pues le decimos mira. Fruta de Ifá. La misma pera. Dos puntos. Y en lugar de decirle que continúe. Se lo vamos a decir. Romper. que descanso es Termina el ciclo aquí. Si tuvieras que dar siete vueltas. Y estabas en la cuarta vuelta. No importa. Los otros tres. No les das. El bucle termina aquí. Y puedes continuar con lo que viene a continuación. que viene aqui Lo que es bucle terminado. Bueno. Entonces si ejecutamos esto. Mira lo que comes. Incluso una ciruela. ¿Cuál es la ciruela que hay aquí? Y luego la pera.

No lo come. Hagámoslo al revés. Primero hagamos que se coma la pera. Se come la pera. Y luego ejecutamos. El condicional Allí va. Se come la pera. Y eso es. Término. Suficiente para comer. Y ahora el ciclo termina. Si me tomé el descanso. Verán qué pasa. No. El elevador. El ascensor sigue funcionando. Saquemos el ascensor completo. Sin el descanso. Se come de todo. Termina la pera. Y luego se come una granada. Deja una granada. Y un melocotón. Ahora con el descanso. No puede comer nada más. despues de la pera Porque la pausa lo que hace es acabar con todos
los bucles.

Entonces tenemos una forma interesante. ¿Qué es la integración de cadenas de texto? Bueno. ¿Qué le vamos a poner? Vamos a eliminar esto. Vamos a integrar cadenas de texto. Oh. Otra cosa interesante. Es que aquí ponemos lo demás. Dos puntos. Cuando se rompe el bucle. Esto es interesante. Para esto me preguntas. La diferencia entre. Che. Pero si es lo demás. Es lo mismo que poner una huella aquí.

Entonces. Para que lo haga. Con lo que pasa. Eso con un descanso. Cuando el bucle termina en una pausa. Se salta todo por completo. El else tampoco lo ejecuta. Esa es la diferencia. Eso cuando encuentra un descanso. No ejecuta nada más. Cuando no lo encuentras. Si sigues ejecutándolo. Y cuando termina el ciclo. Ejecute lo demás. Esa es la diferencia. Entre usar otro. Después de un for. Y pon las condiciones en paz. lo que sucede Es eso más. Por si encuentras un descanso. Se acaba y tampoco corre. Lo demás. Tampoco corre. Esto es importante y lo aceleraremos. Bien. Y luego necesitamos recorrer una cadena. Recorramos una cuerda. Viajar. Una cadena de texto. Cuando se habla de giras. Es para iterar. Cuando pasas por algo. Revisas una lista. Lo estás repitiendo. Caminas un set. Lo estás repitiendo. Recorramos una cadena de texto. La cadena de texto, por ejemplo. Será. La cadena será igual a . Hola Dalto.

¿Cómo hacemos para atravesar una cadena de texto?
Bien. La cadena de texto. Algunos lo entenderán. Cómo lo atravesamos No lo caminamos. Palabra por palabra. Lo atravesamos. Personaje por personaje. Para. Carta. O personaje. Sí. Carta. En este caso sólo texto. Si vamos a poner letra. en. Cadena. Dos puntos. Y aquí decimos Imprimir. Carta. Y aquí básicamente me lo muestra. Hola dalito. ¿Por qué? Porque estamos atravesando una cadena. En el segundo. La letra vale O. En el tercero. Letra vale L. Y en el cuarto. La letra vale A. en el quinto Una carta vale un espacio vacío. Por eso me lo mostró. Un espacio vacío aquí. Porque esto también cuenta. Y luego también podemos hacerlo. Folletos para. En una sola línea de código. Es decir. Supongamos que tengo Una lista de números. Más fácil. Creemos la lista de números de arriba. Números.

Será igual a Dos. Tengo los cinco. Yo tengo el ocho. Y tengo diez. Y básicamente. Esta es la cantidad de bitcoins que tengo. Son bitcoins. Estos son bitcoins. Y de repente. Quiero duplicarlo. La cantidad de bitcoins. ¿Como yo lo hago? Simple. Para. En una sola línea de código. ¿Cómo puedo hacer eso? Simple. Cree una lista de la siguiente manera. Números. Duplicados. Mismo. Y no voy a crear una lista.

Eso suma cada valor. Porque la forma original sería esta. Haría. Para. No. Número. Y números. Y aquí decimos Atractivo. Creemos una lista aquí. y ponemos Números. Duplicados. Mismo. Lista. Y aquí lo sumamos. Número. Por dos. Entonces. Al final de esta lista. Cuando mostramos, por ejemplo. Números. Duplicados. Lo mostramos con un estampado. Actualizamos. Y él nos lo va a decir. Sí Sí. Antes de que los números fueran Dos. Cinco. Ocho. Y diez. Y ahora son cuatro. Diez. Dieciséis. Y veinte.

Literalmente duplicamos las cifras. Pero podemos hacer esto en una línea de
código. ¿Cómo hacemos esto fácil? Simple. Bien. Lo que hacemos es. Borra todo. Bueno. Así que esto. X Por dos. Y aquí terminamos el foro. Para. X en. Números. Aquí lo que hacemos es decirle eso. X Se dividirá entre dos. Se multiplicará por dos. Y el valor que tendrá X. Ahora. Será. Esta X Pero X multiplicado por dos. Y ahora. Simplemente. Mostramos. Digamos. Atractivo. Imprimir. Números. Duplicados. A ver que me dice. Y ahora me dice Lo mismo. El mismo resultado. Tengo hipo. Perdón. ¿Cómo hicimos esto? Muy simple.

Y fue. Un para. En una sola línea de código. Es el mismo. Aquí podemos decir Por ejemplo. Si quisiéramos dividirlo entre dos. Lo dividimos por dos. Números divididos por dos. Y dividir por dos. Eso es. La expresión matemática surge. Y luego viene todo lo demás. Esto es para hacer cosas bastante simples. Por qué. Digamos. Con esto estamos definiendo el valor de X.

Por ejemplo. si dijera X Mismo. X Para. No. Es. Levantamos la X a. Cubo. Entonces. Todos los valores están al cubo. ¿Verás? Todo al cubo. Y es una forma interesante de hacerlo. En este caso vamos a poner Dos. Y estamos duplicando las cifras. Y ahí tenemos. Literalmente. Nos duplicamos. Los números. Y ya lo hemos hecho. Ahora sí. Más o menos todo lo que ha sido la funcionalidad. Estas son las cosas que podemos hacer con un bucle. Son cosas que se utilizan mucho. Y está bien que tengan esto. Porque son cosas interesantes. Importante. Y que te servirán mucho. ahora vamos a poner Creando las listas. Qué bonito, ¿no? Que bonito es esto de programar en Python. Que hermoso. Y más cuando están suscritos a este canal. Y les gusta. Y comentan el vídeo. Y me etiquetan en una lista de Instagram diciendo. Che. Estoy mirando tu curso de Python.

La verdad que me está sirviendo nuevamente. Me da un orgasmo. Che. Luego hay un bucle más en Python. ¿Cuál es el bucle? mientras. Que este bucle ya utiliza condiciones para su ejecución.
Quiero decir. No es que recorra elementos. Pero. Se ejecuta siempre que una condición sea verdadera.
Es decir. Siempre funcionará. Mientras la condición esté en duda. Ser cierto. Veamos cómo funciona While. Y lo usaremos mucho. Veamos el uso de While. El while, al igual que el for, es un bucle,
es decir, es una frase que nos permite ejecutar un código muchas veces La diferencia es que el for recorre los elementos mientras
que el while siempre se ejecutará para que una condición sea verdadera Entonces el while puede ser infinito,
es decir, por ejemplo, este código va ejecutar mientras el número sea menor que
5 En la primera ronda el número es igual a 1,
en la segunda es igual a 2, en la tercera es igual a 3 En el cuarto es igual a 4 y en el quinto es igual
a 5 Ahora, en el quinto, no vamos a ejecutar el
código.

Sigamos con las siguientes instrucciones, porque
el bucle ya se ha ejecutado durante bastante tiempo. ya que no se cumple la condición Así que no vamos a seguir ejecutándolo. Esto es fácil, vamos a crear solo un bucle
que es loop while.py Y vamos a hacer una prueba, vamos a poner p.e. número
es igual a 0 o contador Ahí va, el contador es igual a 0, ahí estamos. Y ahora lo que vamos a hacer es mientras
el contador sea menor a 10, vamos ejecuta este código Entonces digamos imprimir contador y esto
nos mostrará un código infinito. Literalmente, este código es infinito, se ejecuta
y se ejecuta y se ejecuta.

Paremos el programa, ahí va, lo terminamos para parar.
¿Por qué esto va a funcionar infinitamente? Entonces lo que podemos hacer aquí es agregarlo. El contador más es igual a 1, como hicimos antes. De esta manera estamos sumando 1 al contador. Entonces, en el primer turno, el contador
valdrá 0, pero aquí valdrá 1. Entonces, en la segunda ronda, el contador
vale 2. Lo sumamos, valdrá 3 Lo añadimos, valdrá 4 Y cada vez que me doy la vuelta, el contador
va y suma Cuando el contador sea 10, ya no será menos de
10. Será igual a 10, no menos. Entonces esta condición ya no se cumple. y
mientras terminaba de ejecutar Así que aquí vamos a poner print, mientras terminó.
Actualizamos, ten cuidado cuando uses
ese bucle infinito Porque toda la computadora puede titarlos. Por suerte mi combo es un combo poderoso. No tiene que ser tan potente, solo tienes que
darle al botón de pausa. Y lo solucionan, porque si no pueden cerrar
Ahí está, corre 0, 1, 2, 3, 4, 5, 6, 7,
8, 9. Hasta el día 9 y terminó. Aquí te contamos que hasta que el contador sea
igual a 16 Esto se ejecuta 16 veces. De 0 a 15, es decir, 16 veces Cuando el contador valía 16, finalmente alcanzó De hecho aquí abajo podemos decir contador
impreso.

Y ahora el contador vale 16 ¿Por qué? Porque lo agrego muchas veces
Y lo hizo De hecho vamos a hacer una cosa Primero vamos a agregar el valor y luego
mostrarlo. Ahí está, primero lo agregamos y luego lo
mostramos. Y ahora va a pasar de 0 a 15 a 1 a 16 Así funciona el bucle while Este fragmento de código se ejecutará siempre
que se cumpla esta condición. Entonces lo ejecutamos, lo volvemos a preguntar. ¿Aún se cumple? Sí, entonces lo giramos para
ejecutar. ¿Aún se cumple? No, ya no lo corremos
más Y ahí termina el bucle Así funciona el bucle while Ahora vamos a agregar el comentario. Mientras se cumpla la condición El bucle se va a ejecutar. Ahí agrego un comentario que es La condición se verifica vuelta tras vuelta. Para que lo tengas en cuenta Turno tras turno se verifica la condición. Y ahí funciona el bucle while. Ahí estamos, aquí estamos creando un contador
que se va a agregar Y ahí funciona, ahí tenemos el programa finalizado.
Esta fue la sección de loops.

Es algo la verdad que bastante simple. Y si hasta ahora llegaron a este punto del curso
Te felicito, te felicito, pero te recontra, te
felicito Bien amigos, ahora hemos terminado con esto. Vayamos al final de esta sección. Antes de pasar a los ejercicios prácticos 2
Y a la sección de funciones. Es decir, tenemos que ver funciones antes para
avanzar. Todo lo que hemos estado viendo ahora imprimir es una función el tipo es una función Zip, conjunto y subconjunto Estábamos analizando muchas funciones.

Pero, ¿cómo creamos nuestras propias funciones? ¿Cómo podemos reutilizar nuestros propios
fragmentos de código? ¿Cómo nos hacemos tener nuestras
propias funciones? Bueno, eso es lo que vamos a ver ahora. En la sección de funciones Bueno, ahora llegamos a una sección que es
de mis favoritas. Hablamos del apartado de funciones, que realmente
es uno de mis favoritos. Más que nada porque lo que vamos a poder saber hacer
después de este apartado es un locura. Quiero tomarme un pequeño descanso aquí para
darles noticias interesantes. Y es que si entras ahora en Google, entras en
mi perfil de Instagram, donde realmente sería bueno para nosotros crecer más
el número.

Porque vamos, vamos a hacer crecer la comunidad, hagamos
una comunidad mucho más grande. Si estás viendo este curso y en algún momento
te ayudó, sígueme en Instagram. No te cuesta nada y realmente es un excelente
aporte. También ahí cuento todo, cuando se den el curso de inteligencia
artificial darán saber primero por ahí. Cuando hagas streaming para resolver
tus Dudas lo sabrán primero ahí. Todo lo que hagas se entenderá aquí. De hecho les cuento y les mantengo usados ​​todo
y podemos interactuar. Y la gente lo sabe, de hecho no es broma, vamos
a los mensajes. Aquí puedes ver que todo el tiempo y todo el tiempo
interactuamos. Es real, me mandan muchos mensajes
porque saben que les respondo. Estos son todos los mensajes que me mandaste ellos
mandan Y aunque no lo parezca, me tomo el tiempo de leerlos
y responderles. El tema es que a veces uso mucho si no puedo, pero
al final siempre los veo y respondo. Ven todo esto hace un día, mira hace un
día, hace apenas un día.

Y que hay otras solicitudes que son las solicitudes
ocultas. Que en solicitudes ocultas, ahí es donde llega
la mayoría de la gente, de hecho. Así que nada bueno, la próxima vez que
me envíes un mensaje, si no respondes entiendes. que es por esto De hecho, si prestan atención y son detallistas, van. Nota
que aquí dice tienda dalto próximamente. Sólo quiero decirles que no dije nada, no hablé
nada, no avisé por ningún lado. Solo lo puse en mi perfil exactamente tres
días. Bueno, de todos modos, creemos una nueva
carpeta que llamará funciones. Ahí está, lo creamos y bueno igual, creamos un archivo.
No sé si recuerdas que cuando empezamos en
Python, viste que por este motivo Estaba diciendo. Tienes que utilizar la función de impresión, que sirve para
mostrarlos en la pantalla. O por ejemplo la función tipo, que es para ver
cuál es el tipo de dato, del objeto que lo estamos pasando O la función de entrada, por ejemplo para preguntar
a otro usuario. Bueno, estas son sólo funciones. Son códigos que ya están creados, que tiene Python
interno.

Es decir, digamos, son códigos como ese ya están
escritos, funciones ya creadas por pitón. Para que podamos reutilizar cuando queramos. Usamos la función len, la función rango, la
función enumerar y muchas otras funciones. que ya son Python. Y de hecho ni siquiera necesitamos entender qué
tienen dentro ni cómo funcionan. internamente. Porque sabemos lo que hacen. Esto se debe a que en Python existe un concepto llamado abstracción.
Y básicamente es eso si entendemos una
función. Es decir, cómo utilizar una función y cómo
afecta a nuestro programa. No necesitamos saber cómo [ __ ] se
crea. Es decir, vayamos con otras palabras. Si tenemos una función llamada obtener números.
Y cuando decimos números, lo mismo obtiene números.
Y lo pasamos con el parámetro de madres. Esto crea una tupla con los números de la
madre que recibió Sabemos para qué sirve esta función. Y también sabemos qué datos estás pidiendo. Porque fácilmente podríamos pasar por
hermanas de datos. Y esto nos daría el número de las hermanas.

Entonces sabemos que obtener números es una
función para obtener los números. un grupo de personas. Y el parametro nos pide un argumento que nos diga
los numeros de quien queremos conseguir. Quiero decir, ¿quiénes son estas personas? Ahora bien, ¿sabemos cómo funciona? No. ¿Por qué? Porque en este caso no es necesario ni afecta el funcionamiento
de nuestro programa. Lo que importa es que sepas utilizarlo en su
totalidad. Eso es abstracción en Python. Oculta toda la complejidad que tiene. Pero al mismo tiempo es fácil de utilizar
la función.

Y se puede utilizar para interactuar con el programa sin
conocer su funcionamiento interno. Bueno, esto es todo. Es simple. Es exactamente el concepto. Pero básicamente ahora vamos a explicar cuáles son
las funciones. Porque ahora vimos el tema de la abstracción. Y la cuestión de por qué no entendemos cómo
funciona. Y es exactamente por eso. Pero cuando creamos nuestras propias
funciones. Sí es necesario entenderlos. Pero bueno, a explicar qué es una función ahora.
Una función es un fragmento de código. Que podemos utilizar en cualquier otro momento. No es necesario escribir el código una
y otra vez. Es decir, no necesitamos hacer un copiar y pegar. En otras palabras, copiar y pegar. Para usar el mismo código. Simplemente nos referimos a ese nombre. Que contiene todo el código. Esto nos permite muchas cosas.

Por ejemplo. Primero, evite repetir el código muchas veces. 5904
04:06:59,130
–> 04:07:00,350
Segundo, modularidad. Es decir, nos permite separar el programa en partes
más pequeñas y manejables. Y luego incluso poder probarlos por separado. Y que esto no afecte al programa. No podemos probarlos y modificarlos por separado. Y luego intégrelos nuevamente en el programa. Quiero decir, es como básicamente hacer que el programa
se pueda separar en partes. Que luego podremos modificar mucho más
fácil. Luego haga que el código sea más fácil de mantener. Puede ser más fácil de depurar. Porque cada cambio lo queremos hacer. Sólo tenemos que ir a esa función específica.
Hacemos el cambio. Y ya estará en todas las llamadas de la función.
Reflejó ese cambio. Además, esto también es consecuencia del punto
anterior. Y lo mismo ocurre con el cuarto punto. Y es que hace que el código sea más legible. Al tenerlo todo bien separado. Lo que sea más fácil de depurar el código
y demás.

Es como consecuencia de estos tres. Lo que hace que el código sea más legible. Y si un código es legible. Bueno para nosotros. Porque aunque no lo creas. El 90% del tiempo lo pasamos leyendo código. El resto lo escribimos. Pero el 90% de las veces leemos código. Es decir, lo más importante es escribirlo bien. Porque la mayoría de las veces lo leemos. Entonces, si pasamos la mayor parte del tiempo
leyendo un código ¿Por qué vamos a escribir mal? El momento en que lo estamos escribiendo. Es muy importante. Si bien nosotros también podemos crear nuestro propio
código. Es decir, podemos, en lugar de andar creando un código.
Y repítelo mil veces. Podemos crear un fragmento de código. Y luego ejecútelo con una sola línea de código.
Porque para eso se utilizan las funciones. Pero también tenemos las funciones creadas
por Python. Como ya vimos. No es que los creemos nosotros.

En otras palabras, son funciones. Y son creados por Python. No por nosotros. Se llaman funciones integradas. Simplemente vienen construidos por Python. Por eso tienen ese nombre. Incorporado. Las funciones incorporadas. Precisamente son funciones integradas por Python. Consigamos un nuevo archivo. Que sea build-in.py. Hay. Y ahora vamos a ver algunos ejemplos de las funciones
integradas. Además de todos los que ya hemos visto. Veamos algunos nuevos. Para repasar un poco. Tenemos máximo y mínimo. Por ejemplo. Pongamos un comentario. ¿Qué es encontrar el mayor número de a listos?
Por ejemplo. Esto se aplica a cualquier iterable. ¿No? Yo por ejemplo. Yo subo aquí. Y pongo números de lista. Mismo. Y creo una lista con un par de números. 4, 7, 1 y 42. y 15. Hay.

Tenemos una lista con estos números que están aquí.
Si ahora pongo por ejemplo. Número más alto. Mismo. Máx. Números. Hay. Cuando ejecuto esto. si se dan cuenta Él me va a devolver. Bien. Nada. Porque no usan letra impresa. Vamos a imprimir. Imprimir. Número más alto. Hay. Lo ejecuto y me devuelve 42. ¿Por qué? Porque dice. Mirar. ¿Cuál es el mayor número de todos estos?
Y el 42. Esto si fuera una tupla. También funcionaría. Así que no te preocupes. Si fuera una tupla. Si fuera un conjunto. ¿Venir? Funciona igual. Porque lo que hace es determinar. El número más alto en un iterable. Tienen que ser números sí o sí. O no funciona. Tienen que ser números sí o sí. Podemos hacer lo mismo. Pero con el número menor. Encontrar el número. Pongamos. Menor. De una lista. Y aquí ponemos Número más bajo. Y si ejecutamos esto. Arriba nos devuelve 42. Y debajo devuelve el 42. Porque ejecutamos Max.

En lugar de máx. A ver si adivinan. Si no es Max. Si Max es el más alto. ¿Cuál es el más pequeño? Principal. Exacto. Bien. Si no lo hubieran adivinado. Me habría preocupado bastante. En realidad. Hay. Actualizamos. Y nos dice 42. y 1. Porque el número más pequeño. es el 1. Si eliminamos el 1. Deberías decirnos el 4. Veamos si funciona. Nos dice que es 4. Si quitamos el 4. Deberías decirnos que son las 7. Bien. Nos dice que es 7. Así es como funciona. El mínimo es 1. En este caso. Y el máximo es 42. Perfecto. Después. Usemos otra función. que es redondo Eso aunque ya lo explicamos.

Ahora podemos hacer una cosa más con Round. Redondeo a 6 decimales. Si se dieron cuenta. Antes con la función Ronda. Usamos un cálculo. Resolver problemas. En el apartado de ejercicios prácticos. Que estaba usando una fórmula matemática. Para hacer un número redondeable. Con 3 números más. O 2 números más. Para luego ejecutar la coma. Esto es lo que hicimos en el primer ejercicio práctico.
Pero.

Hoy podemos hacerlo de otra manera. Porque vamos a aprender una nueva herramienta. La promesa no se trata de ser. Siempre los que dan las mejores soluciones. Pero se trata de aprender. De eso. Ir creando mejores soluciones. Entonces la clave para tomar un número
tiene una coma. Y ejecuta la coma. No hace falta andar multiplicándolo por 100.
redondeándolo Y luego dividirlo por 100. Es el siguiente. Porque antes lo que hacíamos era esto. Antes hacíamos un número igual. Teníamos, por ejemplo. Este número. Y lo que hicimos fue Lo multiplicamos por 100. Supongamos que quisiéramos hacer 1, 2, 3, 4, 5. ¿Que estábamos haciendo? Dijimos bueno mira. Redondeamos este número. Te damos este número. Supongamos que tuviéramos este número. Este número flotante. Cuando usamos la ronda.

Este número nos redondeó a 12. Entonces si muestro una huella. Dejemos de mostrar estos números aquí.
Estos se imprimen aquí. Lo actualizamos. Y puse número de impresión. Allí va. Esto me muestra un 12. ¿Por qué? Porque me está redondeando. Si quisiera mostrar el número antes. ¿Que estaba haciendo? Y primero lo que hizo fue. Este número. Lo puse entre comillas. Y multiplícalo por 100. Redondea el número por 100. Entonces de esta manera. si se dan cuenta No nos dio 12. Nos dio 12. 35. Entonces, ¿qué estaba haciendo él aquí? Fue dividido por 100. Y de esta manera. Tenía dos decimales. Así fue como lo hicimos.

En ejercicios prácticos. Te reto. Volvamos a hacer esos ejercicios prácticos. Ahora usando la función redonda. De este modo. En la función redonda. Que tenemos. Es una posibilidad. Y es decir. Cuantos decimales queremos dejar. Por defecto. Esto es cero. Pero si te damos dos. Y ahora mostramos Número. A ver qué nos deja. Dos decimales. Y tenemos lo mismo. Solo agregando una coma. Y el número de decimales. Queremos que tenga tres decimales. Sumamos tres. Y ahí tendrá tres decimales. Esta es la forma correcta de hacerlo. Lo mismo. Pero más barato. Haz lo que estábamos haciendo antes. No fue del todo exacto. Lo que me interesa. Es que haces cosas. Bien. Por esta razón. Te los estoy explicando recién ahora. Porque no me interesa. Que copien todo el código. Eso hago. Y escríbelo.

No me interesa. Porque ese es un error muy común. Que lo que hace es esa cantidad de trabajadores. Coge el código de copia de Internet. Y usarlo sin siquiera entenderlo. Y ver y comprender su funcionalidad. ¿Y cómo se puede optimizar? Este es un error muy común. Y no deberías. A… Digamos algo tan simple. Como esto. Usarlo mal. Porque se convirtieron en malas prácticas. Al tener un código no óptimo. Cuando simplemente estaba haciendo esto. Lo que me interesa. Corresponde a ti desarrollar tu lógica. Tu creatividad. No es copiar, copiar, copiar. OK eso está bien. Puedes copiar. Porque incluso yo lo hago. Copio código. Pero lo importante es entenderlo. analizarlo correctamente. Investigue las funciones que está utilizando. A ver qué problema nos puede traer en el futuro. Y optimizarlo. Así que ahora les doy esa primera tarea de programación.
¿Cuál es una tarea que en un trabajo tranquilamente
se podría dar? Incluso para tus propios proyectos.

Y es optimizar el ejercicio práctico. Con esta función redonda. Haciendo que no tengamos que hacer tanto cálculo
matemático. Para poder redondear En su lugar utilizamos la función redonda. con el segundo parámetro. ¿Cuál es el parámetro de los decimales? Y no voy a hacer eso. Te lo dejo a tí. Para que lo hagan solos. Y pueden obtener el mismo resultado. Así que ese es el primer desafío
que os dejaré como tarea. Si pueden hacerlo. ¿Cuál es el más común? Porque no es nada tan complicado si llegaron
a este punto del curso.

Te felicito. Porque acaban de hacer su primera optimización de código.
Usaron una herramienta. Que nunca les explique. Cómo usarlo en un contexto tan específico
como ese. Para resolver un problema tenían que hacerlo.
Necesitamos optimizar el código. Y acaban de hacer su primera optimización de código.
Sin mi ayuda. Así que felicidades. Luego tenemos la función bola. Lo que básicamente nos devuelve. FALSO. Por si te pasamos un cero. Te pasamos un número vacío. O un dato vacío. Pasémoslo falso. O ninguno. En otras palabras, no le pasa nada. Si no pasamos nada. Le damos un cero. Le damos un vacío. O una falsificación. Esto nos hará regresar. FALSO. Y es precisamente la función bola. Toro. En realidad no es una pelota. Es una tontería. Oh bien. No importa. Si yo, por ejemplo, paso cero. Aquí vamos a poner Resultado. Mismo. Aquí mostraremos el resultado. Resultado. Booleano. No dice que sea falso. Porque pasamos cero. Si no pasamos nada.

También devuelve falso. Si le pasamos uno. Lista vacía. Devuelve falso. Si le pasamos una tupla vacía. Devuelve falso. Si le pasamos ninguno. Devuelve falso. No olvides que ninguno Saldría como lo que no es ninguno. No. Así que no pongamos ninguno. El falso. De eso si también lo pasamos falso. Devuelve falso. O cierto. En caso de que lo pasemos. Un número. No nulo. Verdadero. O uno. Cadena de texto. Cualquier cuerda. Si le pasamos, por ejemplo, un array. con no lo sé Dos elementos. Devuelve verdadero. Bueno. O datos no vacíos. Ahí sumamos. Una lista por ejemplo. Devuelve verdadero. O que tenga datos. Ponemos un nueve. tiene verdad. De hecho, si pasamos un menos uno. ¿Qué nos va a devolver? Y si pasamos menos uno.

Volverá verdadero. Porque todos los números distintos de cero. Devuelven verdad. Una cadena de texto. Te vamos a pasar estos datos por ejemplo. Devuelve verdadero. Y cualquier dato. Que sea verdad. Volverá verdadero. Entonces tenemos otra función. Lo cual también es genial. lo que está ahí Esta función eso es todo. Devuelve verdadero. Si todos los valores son verdaderos. Quiero decir. Estamos hablando. Eso mismo hace ese bul. Es decir, si lo pasamos como parámetro. Es verdad o no. Él lo hace allí. Esta función que está aquí. Resultado. allá. La función lo es todo. Pero. En lugar de comprobar. Un solo elemento. Comprueba lo que hay dentro de un iterable. Quiero decir.

Le pasamos un iterable. Y no verifica el iterable como tal. Compruebe por ejemplo. El elemento este El elemento este Otra lista que pasamos por ejemplo dentro de
la lista. ¿Lo entiendes? Estos son los datos que verifica. Y de hecho si ahora os contamos el resultado. allá. allá. No se dice ni al. Niall. Es como ahí. La mezcla entre el y el o. Devuelve verdadero. ¿Por qué? Porque todos estos datos son ciertos. Ahora si tuviera que pasar un 0 aquí.

Ahora devuelve falso. Porque 0 es falso. No lo olvide. Aquí arriba 0 es falso. Si lo paso, ninguno. Ninguno. Es falso. Te paso una lista vacía. Por ejemplo. Una lista vacía. También devuelve falso. Porque es uno de los datos que nos devuelve falso.
Así es como funciona todo. Sí o si todo esto tiene que ser cierto. Entonces tenemos, por ejemplo, suma. Agrega todos los valores de un iterable. Si yo, por ejemplo, doy esto. Cantidad total. Esto va a ser igual a. suma. Números. Si te digo aquí suma total. Cuando actualice me dirá 69. Oh que hermoso número. ¿Por qué? Porque 69 es la suma de todos estos números. Si me pasa aquí por ejemplo. 30. Debería devolverme 99. Porque 69 más 30 es eso. Entonces. Es la suma de todos los números. Yo, por ejemplo, lo saco. Todos estos números. Devuelve la suma de. 4 más 7 más 1. Bueno actualiza. 12. 4 más 7 es 13. Más 1. Perdón. 4 más 7 es 11. Más 1 es 12. sum suma todos los valores que tiene un iterable.
Es importante que sean números. Porque si no son números. Si aquí, por ejemplo, agrego un. Una cadena de texto.

Comenzaría a devolver excepciones. Voy a comentar todo esto para que podáis ver. Que es lo que me arroja excepciones. 6390
04:17:15,94
9 –> 04:17:17,300 Esto
me devuelve una excepción. El siguiente me devuelve una excepción. Sigo actualizando. y. La suma me arroja una excepción. Estos tres que se enfrentan a sumar números. suma, máx. y mín. Devuelven excepciones. Entonces también es importante que entiendas
si o si Tienen que ser números. Porque si no devuelven excepciones. Ahora si lo somos. Bien. Bueno estos son algunos ejemplos de funciones
integradas. Bueno. Funciones integradas. Pero la pregunta es dalto. ¿Cómo creo mis propias funciones? Porque todo es muy bonito con esto. Pero quiero crear el mío propio. Quiero tener mis funciones.

Pudiendo crearlos. Poder utilizarlos. Poder crear mi propio código para usar. ¿Como hacemos eso? Bien. Ahora vamos a ver cómo crear nuestras primeras funciones.
Bueno, comencemos a crear una función, creemos
nuestras propias funciones. Porque todo bien con las funciones que ya están
listas, ya están integradas pitón Pero tenemos el nuestro Para eso, cree un archivo llamado CreateFunctions.py Y vamos a empezar, voy a poner def Que como antes ponemos por ejemplo while
para iniciar un bucle O si por un condicional o para un bucle for Usamos, en este caso, def Para decirle al programa que vamos a crear nuestra
propia función Y aquí sigue el nombre de la función, por ejemplo,
saludar Los paréntesis son importantes porque aquí
hay un parámetro.

Ahora vamos a ver qué es un parámetro. Lo voy a comentar desde ya para que ya lo dejemos
claro Creando una función simple, esta es una función simple
Ponemos los dos puntos y aquí todo el fragmento de código
que escribimos en este bloque. Será parte de la función, yo por ejemplo voy a
hacer una impresión. Que diga hola Lucas, mi maestro, ¿cómo caminas?
Entonces, por ejemplo, quiero ejecutar esta función
¿Como yo lo hago? Bueno, así como ejecutamos
type, así como ejecutamos len Así como ejecutamos cualquier función,
es el nombre de la función que está saludando Y los dos paréntesis y se ejecuta la función. Y aquí me dice, hola Lucas, mi maestro, ¿cómo caminas?
Yo estoy muy bien flaco, gracias por el saludo. Y ahora en vez de andar poniendo este código, si
se fijan, si yo pusiera este código Es un código gordo, es feo No digo que los gordos sean feos, por favor, no
descontextualicen porque no soy gordofóbico Ahí está, tenemos un código que es gordo y
es feo y realmente no nos sirve, no nos interesa Entonces, ¿cómo hacemos que el código sea
más lindo? No digo que la gordura no sea bonita, digo que en
este caso no es estético ni práctico.

Bueno se entiende Entonces, simplemente lo que hacemos es
darle saludar, saludar Y esto ejecutará el mismo código muchas veces.
Y si miras es igual pero más flaco, entonces
se ve más lindo Lo mismo, el código, es código volador. Pero nada, en fin, espero que entiendas porque
esta es la función del código. Esto pasa cuando tenemos algo pequeño. Pero si lo tuviéramos, normalmente lo que hacemos
en una función es crear muchas líneas de código Si no, no hacemos una función, creamos muchas líneas
de código. Entonces, en ese caso, la cantidad de código
que se traduce es bestial.

Lo verás cuando trabajes con funciones más
avanzadas Lo vamos a ver ahora de hecho. Haciendo una función simple, función simple
y aquí te damos ejecutando la función simple ¿Por qué vamos a comentar todo? Vamos a discutir todo porque ahora vamos a crear una
función con parámetros. Pongámoslo en funcionamiento Cual es el problema con esto? Y, fácil, que si yo, por ejemplo, quisiera decir
Hola Lucas, mi maestro, pero de repente mi nombre
es Dalto. ¿Lo que sucede? Y lo que tengo que hacer es usar un parámetro. Entonces, creemos una función que tenga parámetros.
¿Qué es un parámetro? es una variable, un parámetro es una variable Solo que existe dentro de una función,
afuera no existe Los parámetros son variables que se crean para
ser usados ​​dentro de la función.

Y después ya no usar más Entonces ponemos def saludar y acá le pasamos un
parámetro que es nombre Ponemos dos puntos y acá decimos imprimir Hola, acá usamos una f string porque vamos
a decir nombre, mi maestro, ¿cómo andas? Entonces de esta forma, si yo ejecuto esto, ahora
pongo saludar y me dice. Hola Lucas, mi maestro, ¿cómo andas? Pero también me puedo decir Hola Dalto, mi maestro, ¿cómo andas? Y también puedes decirme, hola Camila, mi maestra,
¿cómo estás? Saludos a Camila maestra. Ah, pero Camila no es profesora, es mujer, es mía.
¿Entonces que hay de nuevo? Y hay que ver si es hombre o mujer, pues Ah, pero ¿cómo lo comprobamos? Bueno, le añadimos otro parámetro, el sexo. Hombre o mujer Entonces ponemos si el sexo es igual al femenino. Pongamos, ante todo, el punto sexual. Ahí va, este es un método que no se olvidan lo que hace
es convertirnos a todos a minúsculas.

Entonces aquí simplemente ponemos mujer Entonces si ponemos mujer con mayúscula,
con minúscula, la identificará. Entonces si es mujer, dos puntos. Digamos que en lugar de maestro, digamos
maestro aquí ponemos Entonces aquí ponemos adjetivo. El adjetivo puede ser cualquier adjetivo,
podemos decir que por ejemplo Si el sexo es femenino, adjetivo es igual a mí reina
por ejemplo Si es hombre, el sexo es el mismo que el de un hombre. La comparación siempre está en minúsculas. Si es hombre, el adjetivo va a ser titán Y si no es ninguno de los dos Es porque eventualmente no se identifica ni con
hombre, ni con mujer Entonces podemos decir adjetivo igual No lo sabemos la verdad, no lo sabemos No, pero no vamos a poner eso, vamos a poner crack.
Vamos a ponerle crack para que sea, viste, pasa
que es muy por ahí Ellos dirían que es [ __ ] decirles así Entonces por ahí podemos poner mi amor, seguramente mi
amor les guste ahí va Entonces Camila, ya que le paso, mujer Esto básicamente me respondería Que hice mal acá Ah, puse esto, me quedé con ya Ells dos puntos, se me falla una forma Hola Camila mi reina, ¿cómo andas? Dice que es mujer con mayúscula, a ver que nos
devuelve Lo que pasa es que acá sexo punto lower No estamos convirtiendo sexo en lower Tenemos que decir sexo igual sexo punto lower Ahora actualizamos y ahora si dices Hola Camila mi reina, ¿cómo estás? Si le ponemos mujer así todo mal escrito Hola Camila mi reina, ¿cómo andas? Si después de Camila llega dalto Vamos a decirle saludar a dalto Hombre, y que hombre? Y nos dice hola dalto, mi titán, como andas? Y si no nos identificas, saludar Que yo puedo poner fran y el fran no binario Por ejemplo vamos a decir hola fran mi amor, como
andas? Ya está, espectacular, un ejercicio que además es
inclusivo Pero que más podemos pedir en este canal, espectacular.
No se me ofende a nadie, estamos todos felices Yo también estoy feliz porque no me funan por
algo innecesario Y damos un buen mensaje a las generaciones de
hoy en día.

Ah no, pero está acopado, si no te sentís ni
hombre ni mujer está bien Que hayan empresas que digan si no te sentís ni
esto ni esto Te damos otra opción para que te sientas dentro,
está bueno Y acá fíjense que no usé la E, no necesité decir
amore o titane o reine Yo creo que también ser inclusivo es saber hablar
bien Pero en lugar de decir estudiantes tal vez podamos decir
personas que estudian. Y no es persona o persona, es persona, persona que
estudia Así que ahí estamos incluyendo a todos los del
mundo. Porque todas las personas, no importa cómo
nos identifiquemos, somos personas Entiendo que es para simplificar el lenguaje. Por eso soy inclusivo cuando uso el amor.
Entonces es un punto de vista Y de esta manera, si te fijas, ahí va. Estamos ejecutando este código, todo este código
que está aquí Lo estamos ejecutando como tres veces.

Y en otras situaciones deberíamos haber hecho
esto, mira Deberíamos haber hecho 1, 2 y 3. Todo este código lo acabamos de simplificar
con estas líneas de código. lo cual es fantástico ahora Pero ahora la pregunta es, ¿cómo hacemos
si quisiéramos usar esta frase? Porque no siempre tenemos que andar devolviendo cosas
al usuario Quiero decir, literalmente lo que hacemos
a veces es devolver cosas al usuario. Pero si quisiéramos hacer cosas que el usuario no
puede hacer… Quiero decir, como que no… A ver te voy a mostrar un ejemplo. Vamos a crear una función que nos devuelva valores.
¿De qué sirve devolver valores? porque es simple Yo por ejemplo creo una función que me devuelve un
número Ese número tengo que poder hacer cosas con ese
número No siempre se lo quiero mostrar al usuario Si yo por ejemplo extraigo un número de una base
de datos que es privada Y le hago cálculos No quiero mostrarlo en consolación, ¿por qué
haría eso? Lo quiero para uso propio vamos a ver Si yo creo una función que sea def cálculo Le pasamos un número de número Y venimos acá y el código va a ser número por
2 Primero lo multiplicamos por 2 Después de lo que hacemos es, agarramos una lista
por ejemplo.

Y lo que hacemos de la lista es, agarrar y decir
por ejemplo A, B, C, D, E, F, G, H, I, J, 9 caracteres 9, J, ahí está Vamos a crear un hash Crear contraseña, aleatoria Esto crea una contraseña aleatoria. Así que vamos a venir aquí y vamos a dejar que
esto sea igual a La lista de personajes será igual a esta. Luego tomaremos num y lo convertiremos a un número
entero. Le vamos a dar str y aquí le vamos a decir num El número que se nos pasa se convierte en un número entero. Y luego lo que vamos a hacer vamos a decir que
El valor o número entero es igual a este Y luego decimos que num será igual
a int Un número entero que obtiene el primer valor
de num Entonces de esta manera lo que estamos haciendo es
Aquí te damos un número Podemos gastar 10, 20, 30, 40, 50, 60, 70, 32,
45 Él mantendrá el primer número que
pasamos.

Si le pasamos 25 se queda con los 2 Le pasamos el 47, se queda con el 4. Siempre con el primer numero Le pasamos 1 y se queda con 1. Le pasamos 3, se queda con 3 Si pasamos un número con más de dos dígitos todo me ignora Solo me queda a mi me deja solo con el primer
digito ¿Qué vamos a hacer a continuación? El carácter 1 será igual al número entero menos 2
El carácter 2 será igual a num entero Y el carácter 3 será igual a num entero menos
5 Por ejemplo aquí estamos Entonces de esta manera lo que hago es decir La contraseña es igual a la lista de caracteres. Que le vamos a poner el otro nombre caracteres Chars significa char, char es carácter chars es como algunos personajes Aquí ponemos los caracteres c1. Pongámoslo como una cuerda. F, caracteres c1 caracteres c2 caracteres c3 Y te vamos a decir el entero que te devolvimos
Para 2 Ahí va, entre paréntesis obviamente. Entonces si ahora pasamos la contraseña Vamos a poner esto encima de todo.

Y pasamos la impresión La contraseña por ejemplo Si ahora digo crear contraseña aleatoria Y le doy por ejemplo un 98 El número entero aquí en realidad va 0. Porque lo que queremos que se quede es el primer personaje.
Y el primer carácter de una cadena es 0. Así que ahí actualizamos, ahora si. Y esto nos da esto de que en realidad nos estamos volviendo completos.
Entonces ahora ya no es un número entero, es num. Y en todos será igual a num Luego sumamos el numero El número entero ya no existe, ahora es num El número entero era una variable temporal que creamos.

Al principio, num era igual al valor que
pasamos. Después es igual a un número entero Allí va Actualizamos y se sobrescribió, eso es todo. Aquí en lugar de pasar una lista vamos a pasar una cuerda ¿Por qué una cadena se recorre letra por letra? Así que ahí está Esto es como retocar el código para ir resolviendo
Estos pequeños errores que tenemos Esto nos creó esta contraseña aleatoria. Nos creó H, J, E, 18 Fácil pongo aqui por ejemplo paso el 4 Y me da otra contraseña paso el 7 Y me da otra contraseña paso el 1 Y me da otra contraseña Me sigue dando contraseñas diferentes Según el número que pasa Sí, está bien, esta es una función efectista. pero es un ejemplo puedes crear cualquier Si quieren hacer una prueba contigo si entendieron esto y pueden crearlo Créalo para practicar excelente Si no, no te preocupes Pueden crear cualquier función.

Que tienen numeros o frases O algo La conclusión quiero usar esto Para un trabajo interior Supongamos que esto está en el backend. Y es muy complejo Es un algoritmo complejo. ¿Qué crea un número aleatorio? que esto no es al azar Esto siempre será lo mismo Siempre Si pasamos 1 Nos devolverá lo mismo no es aleatorio Pero supongamos que le pasamos un número. Que en realidad devuelve un número aleatorio queremos hacer algo con eso Y lo que queremos hacer No queremos que el usuario lo vea.

Porque aquí siempre lo verás en la consola. Toda la contraseña la veo en la consola. creo que esta cerca de mi ¿Cómo hago para que tenga intimidad conmigo? Simple En lugar de imprimirlo Contraseña Lo que voy a hacer es devolver Contraseña voy a devolverlo ¿Qué es el retorno? regresar es decir que de repente Esta función Se convertirá en un valor Que podemos asignarlo a una variable. u otras cosas Por ejemplo Viste que usamos la función redonda. buena ronda Si pasamos 12,5 regresa 12 pero ponemos resultado Mismo redondo 12.5 Y el resultado vale 12 ¿Por qué redondeo 12,5 a 12? regresa 12 Porque lo que nos devuelve vuelta son las 12 Entonces en este caso Devuelve la contraseña Si ejecuto esto así no más Eso es todo Ya no lo muestra en consola. Lo que muestra es lo anterior. Pero esto ya no se mostraba en la consola. La contraseña no la muestra. ¿Pero cómo podemos conseguirlo? Simple Lo qué decimos Contraseña o contraseña sera igual a esto Y si quiero puedo mostrarlo Ahora si quiero puedo mostrarlo.

Contraseña Para mi operación puedo mostrarlo. Eso es todo Pero ahora puedo trabajar con la contraseña. puedo decir por ejemplo La frase es igual a Su nueva contraseña es dos puntos Aqui hago una f de fstream digo flaco Tu nueva contraseña es contraseña Y ahora lo que muestro es la frase Entonces ahora puedo operar Tu nueva contraseña es jvg12 Si yo aquí, por ejemplo, pasaría el 3 Tu nueva contraseña es vdi6 Eso es todo estamos trabajando el valores de retorno Lo que nos permite son los datos para poder guardarlos. Porque si no devolvemos valores Y le damos una impresión No podemos hacer nada con los datos.

Eso es todo Una vez ejecutada la función Está hecho no hicimos nada Tu nueva contraseña es none ¿Por qué? porque ya es así se mostró Nos mostró la contraseña. Pero no pudimos hacer esto aquí Tendríamos que hacerlo aquí. Entonces, la forma de usar datos
de funciones fuera de funciones es devolviendo valores De hecho, normalmente creamos funciones porque
nos devuelven algo. hacemos un proceso para obtener un valor Y ese valor es el que usamos. en tipo Por ejemplo le pasamos un numero Y nos devuelve que tipo de dato es Ese es el valor que nos devuelve máx. La función máxima y mínima Devolvemos un valor Y devuelve el número máximo o el número mínimo.
Pero hace todo un cálculo interno. Y nos dice que el número mayor es este. Ese es el valor que nos devuelve Si damos el número máximo Aquí podemos verlo el numero es igual a esto Esto devuelve un valor Por eso podemos guardarlo aquí.

Este Este Y eso Devuelven valores que vamos guardando Si no usaron return esto corre y eso es Está hecho Pero nunca se salvó Para que se salve O poder guardarlo Tenemos que devolver un valor. Y con eso una vez que devuelvas un valor.
Esto se convierte automáticamente en ese valor
de retorno. Entonces podemos equipararlo a una función. Ya lo están viviendo con la práctica. Esta es una función que quizás era demasiado descabellada.

Por ejemplo tal vez estaba un poco equivocado Me equivoqué lo admito Quizás no fue la mejor función para explicar Porque se marearon más con la función que con
los conceptos De hecho, esto es algo tan simple Comparado con lo que veremos en el futuro Que no pueden considerar lo complejo Y si lo consideran complejo es normal. porque es basico Así que no te sientas mal Sólo quiero adentrarme un poco en territorio
más avanzado. Y este es un buen ejemplo. Pero básicamente vamos a repasar aspectos generales.
Aquí lo que hacemos es crear personajes aleatorios. A B C D Lo que hacemos con el número entero es convertir
a cadena el primer número. ¿Por qué? Porque si convertimos a cadena Cuando recorremos una cuerda El primer valor de la cadena es este. La primera carta Entonces si nos pasa un 7 Es ahora no son 7 Es ahora 7 cuando le decimos Pasame el primer dato que esta en el 0 Es decir, el índice 0 de la cadena.

7 me pasara a mi Si el tiempo me pasara esto esto solo me va a pasar a mi Entonces ese es el número que necesitamos. Entonces lo convertimos a número. entero, lo siento Porque como número no podemos obtener el valor
0 solo quiero saber el primer numero
que me paso Por eso uso esta función. Porque con esto lo que hago es sacar solo el
primer numero Si paso 527 obtengo 5 Los 5 de los 500 el 5 que con esto que esta aqui Lo hicimos entero y obtenemos el primero. Fácil Si el numero fuera 425 tiene tres personajes 4, 2, 5 Con 0 accedo a 4 y siempre primero Tenemos la función RUN si quieres ¿Qué dice aquí? C es igual a número menos 2 Eso es Si por ejemplo el número ahora vale 7 C1 vale 5 C2 carácter 2 es igual a num entonces vale 7 Y el número y el carácter 3 es número menos 5 Es decir, si vale 7 son 7 menos 5 Entonces este personaje vale 5 Eso si el numero es 7 esto vale 5 Esto vale 7 y esto vale 2 Así es más o menos como jugamos.

Si el numero fuera 10 Esto vale 8 porque 10 menos 2 es 8 esto vale 10 y esto vale 5 porque 10 menos 5 es 5 ¿Para qué sirven estos valores? ellos nos sirven porque yo aqui por ejemplo Si C1 vale 5 5 es 1, 2, 3, 4, 5 El e Luego me muestra la E. Vamos a ver aquí le doy un 5 Esto me devuelve la E. Bueno, aquí no porque estoy usando una impresión. Vamos a darle una DEVOLUCIÓN Para poder usarlo DEVOLVER la E no nos da la D Allí va Porque es le damos un 5 Está bien Si le damos un 5 0, 1, 2, 3, 4, 5 El primer personaje tiene 5 menos 2 O es eso menos 1 menos 2 es la D Está bien entonces son 3 0, 1, 2, 3 El d Bien Si le damos un 5 personaje 2 son 5 O es eso 0, 1, 2, 3, 4, 5 La F Y aquí está la F. Bien Veamos de dónde viene la A. C3 es número menos 5 O es eso y 0 está aquí La A Perfecto Y luego lo último que hace es a numeros multiplicalo por 2 entonces si el numero es 5 esto va a 10 Perfecto Probemos con otro número. A ver si conseguimos con un 3 Ok vamos con 3 3 actualización 3 menos 2 es 1 0, 1 El b Está bien 3 es la D Entonces, ¿qué nos muestra la D? Está bien Y luego 3 menos 5 es menos 2 Pero recuerda la ocasión en la lista.

Cuando damos números negativos esto es menos 2 Por eso lo vemos allí. Y luego 3 por 2 es 6 Aquí te mostramos C1 Aquí te mostramos que caracteres tiene En 1 Qué es esto Aquí te mostramos que caracteres tiene En 3 Qué es esto y aquí te lo mostramos que caracteres tiene en C3 Qué es esto y aquí te lo mostramos el para 2 Es fácil En caso de que no entendieran esa es la explicación Pero nada no lo busques tanto Lo importante es que entiendan Que tenemos que devolver parámetros.

Si yo hiciera todo esto Estos conceptos Ellos son muy buenos Y aprendamos a hacer ejercicio. moverse un poco El código y para gestionarnos Porque cuando hacemos programación real Es tan Es la verdad hacemos estas cosas todos se ven raros nos movemos de esta manera Y si lo usamos y se aplica Entonces No está mal que empiecen a ver ejemplos reales No acepto comentarios de oh dalto lo encontré para ti tu hurgas Si hay algo innecesario No no es innecesario Bueno tal vez para explicarlo Sí Pero cuando hay que llevarlo a la
práctica. Tendrán que hacer cosas mil veces más complejas
que tú. No No ellos tendran que hacer lo mismo Entonces es bueno que de ahora en adelante aprendan
a hacer cosas así.

Y más si suenan ejercicios Y si salen bien Si no aprendelo igual hasta que salgan Eventualmente Si quieren ser programadores y ser bueno esto tendran que entenderlo Entonces es bueno que de ahora en adelante les
vaya bien. Y si lo entendiste la primera vez eres una excelente persona eres muy grande es normal que te cueste si les cuesta no te frustres De hecho Si no entendiste esta parte No pasa nada Sigamos con lo siguiente Total Este no es un requisito exclusivo. Lo único que tienen que entender. Es que tenemos que devolver valores. Eso es importante ¿Por qué tenemos que devolver múltiples valores? Quiero decir No sólo necesitamos regresar Un valor Aquí podemos regresar por ejemplo una tupla Devuélvenos la contraseña y numero ¿Por qué? Porque si a mi por ejemplo le pasa 398 número Me va a devolver 3 Entonces quiero quedarme con esos 3. no creo que sea malo quiero quedarme con esos 3 Por alguna razón no sabemos quiero quedarme con esos 3 Eso nos devuelve múltiples pongámoslo aquí Eso devuelve múltiples valores Si quiero que me devuelva 3 por ejemplo ¿Como yo lo hago? Y bueno La contraseña es una tupla.

Estoy devolviendo una tupla Bueno, vamos a mostrarnos La nueva contraseña es Este comer 3 Esta es una tupla Entonces deberíamos decir Contraseña la contraseña es igual a Este Cero Porque el primer valor es la contraseña. Y ahí tenemos la nueva contraseña. Y si queremos acceder al segundo valor vamos a ponerlo Resultado 1 Es esto y resultado 2 Es esto Entonces si mostramos aquí Resultado 1 Pero lo que hay aquí no es óptimo. no optimo ¿Cómo podemos hacer eso? Y recuerda lo que te enseñé desempacando en lugar de hacer esto Volvemos Allí va ponemos la coma y ahora ponemos Número o el primer numero primer número Y ahora simplemente lo desempaquetamos Y de hecho aquí no necesitamos agregarlo.
Porque una tupla se puede devolver así No es necesario agregar paréntesis actualizamos Y ahora tenemos dos valores.

Contraseña y primer numero Y aquí no ponemos 0 lo sacamos actualizamos Y ahora si debería tirar algo Allí va Tu contraseña es Contraseña Más fácil dos impresiones diferentes Tu nueva contraseña es Contraseña Y abajo diremos El número utilizado para crear la fuerza. Dos puntos primer número y ahí tenemos Tu nueva contraseña es Es y el numero usado Para crear el fue 3 Y que a esto le estamos pasando podemos pasar 981 Y él nos va a decir Tu contraseña es Es y el numero usado Por aquí eran las 9 Porque a pesar de que el número completo
era este Sólo funciona el primer dígito Entonces Eso es lo que estamos haciendo Así que este es un buen ejemplo. aquí estamos diciendo desempacando La función Demostración Los resultados Ganado y los datos usado Olvídalo Ahí estamos Ahora si ya tenemos los 10 Ya lo tenemos todo comentado.

Y todo optimo Ahora la pregunta es ¿Qué pasa si por ejemplo Queremos hacer una suma indefinida. de numeros estoy dando otro ejemplo Completamente diferente otro muy diferente Creemos una nueva función. Como va a ser Parámetro argumentos punto py Supongamos que tengo aquí Una función que es Suma Una función suma con a y B Listo lo ejecuto aquí pongo devolver A más B yo digo bien Resultado Mismo Suma quiero sumar el 5 y el 3 esto me va a dar 8 Y ahora lo muestro en la pantalla. huellas dactilares Resultado hasta que todo este bien Listo Eso es todo 8 Pero si quiero agregar más números Por ejemplo le doy un 9 le doy un 9 y no lo agrego me lanza una excepción Cómo puedo hacer esto bueno hay una funcion Bueno, la forma normal es pasar una lista Di esto como si fuera una lista Dentro ejecuta un bucle Quiero decir dentro de la función Hacemos un bucle Lo repasamos sumando los valores.

óptimamente De valores de suma Por ejemplo Dejemos de ejecutarlo Hay Una forma no óptima de agregar valores Es para crear esta funcion que esta aqui y decir por ejemplo Listo Y aquí lo que hacemos es decir números agregados mismo 0 Y aquí abajo decir Y aquí abajo decir Para número en Listo Dos puntos Y aquí por ejemplo decimos números agregados mas numero Más Perdón Mismo números agregados Más números Entonces lo que hacemos es terminar el para pongo una lista y nos muestra 17 Si me paso aqui por ejemplo un 10 y un 20 él sigue agregándomelo regresa 47 Y si también paso un agregame otros 3 devuélveme 50 lo siento, está mal Porque esta no es la manera de hacerlo. Deberíamos poder hacer que el número de argumentos
sea indefinido. No le pases una lista Esto es desagradable entonces voy a comentar porque no es muy bueno Entonces yo comento Comento y comentaré todo. Comento todas las líneas de código.

Bueno todo esto fue para antes ahí comento Vamos a mostrar ahora la forma óptima de hacerlo.
Usando el parámetro args Si usamos el parámetro args Copiemos el mismo código. Y ahora tenemos que usar Bueno Usemos por ejemplo Números Aquí lo que tienes que hacer. despues de poner numeros pongo Perdón el asterisco Bueno Esta pequeña señal que está aquí Que bueno, al menos en Argentina decimos asterisco
Ok, procesemoslo primero.

Lo que hacemos aquí es contar mira che Esta va a ser una lista Bueno Y es un parámetro que básicamente Podemos hacer esto Poder Podemos pasar por ejemplo Resultado Mismo Suma y te podemos decir 4 5 Bueno esto va a cambiar Todos los parámetros como si fueran uno Yo explico Será que todos los parámetros que le pasemos ser solo uno vengo aqui y te digo Zoom ¿Recuerdas ese Zoom? agarró los iterables y lo agregué Si tengo una lista con 5 números lo agrego Pero si paso Aquí 5 numeros Hay 5 numeros Y se convierte en una lista En realidad en un iterable Zoom debería agregarmelo Entonces ponemos números Y si les muestro y se los devuelvo devuelvo este valor Veamos qué pasa actualizar los mismos numeros ¿Recuerdas que esto me dio 50? A ver cuanto me da esto actualizar dame 50 funciona exactamente Igual que la función anterior Y eso usando el parámetro argumentos Esto es bueno De hecho podemos hacer una cosa Podemos decir Por ejemplo pregunta por el nombre una cosa importante de este parámetro Es que tenemos que usarlo Al final si lo usamos Entonces no podemos agregar más parámetros es el único parámetro ¿Qué podemos usar? Y si queremos agregar más parámetros Por ejemplo mira che quiero que agregues un nombre Y también después dame El siguiente Como va a ser cuerda fa Y vamos a volver Nombre tus numeros la suma de tus numeros son 2 puntos Y ahí lo mostramos si actualizamos y pasamos lucas esto me dice lucas la suma de tus numeros son 50 porque el primer valor es el nombre todos los que vienen después van a hacer una lista ¿Cómo se llamarán números? y numeros ellos están aquí Entonces despúes Sumamos todos los valores.

De la lista y me dicen La suma de todos tus números. El operador argumenta El operador como argumento Aquí usamos argumentos Y también podemos usarlo quebrarse Quiero decir Nosotros podemos usar misma función que antes que lo vamos a copiar y pegar Pero Podemos usarlo de otra manera. Quiero decir Si podemos pasarte la lista Pero en lugar de correr Todo esto voy a dejarlo como esta voy a poner numeros También a esta función Y aquí te lo podemos decir regresa a nosotros La suma Asterisco Números Y esto también funciona igual Cantidad total pongamos otro nombre entonces eso no Aquí ponemos suma para que la función No nos digas que ya existe. ahora digo que resultado 2 Es igual a Cantidad total uno
Y te daré la lista aquí arriba uno
Pasemos esto uno Hicimos
lo mismo aquí arriba. uno
aquí veremos si funciona uno
y de hecho uno,
vayamos a esto uno No
mostraremos este resultado uno
ahí va uno
no lo vamos a mostrar uno,
mostremos el segundo.

Uno vamos
a mostrar uno imprime
un resultado
2 uno que
actualizamos uno
que pasa aqui uno
es que tenemos que crear la lista uno le
ponemos una lista uno
Ahí cerramos la lista uno que
actualizamos uno Y
ahora si volvemos a ejecutar el programa uno que
también funciona para nosotros uno porque
estamos contando un che
uno y
le mostraremos exactamente uno el
interior uno
pero sin la lista uno de
hecho uno
si agarro esto uno y
mostrarlo uno me
mostraría uno este
uno
solo ese uno
No seria una lista uno aqui
por ejemplo uno
le digo uno imprime
uno numeros
uno
Esto me va a mostrar aquí uno si
se dan cuenta uno 5
uno 3
uno 9
uno 10
uno veinte
uno 3
uno digo
muéstrame el tipo 1. Veamos
qué tipo de datos son. uno me
va a mostrar uno ¿Por
qué no me dejas? uno
me dice que hay muchos argumentos 1. Eso
es lo interesante de esta función. 1. Es
un operador bastante especial. uno
y es muy bueno uno
lo uso mucho uno Y
se puede utilizar como parámetro uno O
aquí lo usamos como parámetro uno para
pasarlo uno La
cantidad de datos que queremos uno
si no uno podemos
usarlo uno para
hacer lo mismo uno
al otro lado uno solo
que esto es más tedioso uno ¿Por
qué aquí tenemos que usar? uno una
lista aquí uno y
también pasarle una
lista uno así
uno Ahí
es donde podemos ir uno la
cantidad que queremos uno solo
de esta manera uno
Nos limitamos a eso uno siempre
tiene que ser uno El
último parámetro que agregamos uno
porque si no es el último parámetro uno entonces,
más tarde uno que
no podemos agregar más uno en
su lugar aquí uno Si
este fuera el último parámetro uno entonces
podemos continuar uno agregando
parámetros uno porque
si sumamos uno Un
parámetro más uno este
parámetro uno
no corre uno
porque esto es infinito uno
Entonces todo lo que pasa aquí 1 Cuando
conoces el programa uno ¿Qué
es este parámetro? uno nunca
uno
porque siempre todo uno
Él va a entrar aquí uno bueno,
finalmente uno y
aquí ponemos una forma
óptima uno para
agregar valores uno
O vamos a ponerlo uno porque
esto va con el código anterior Una forma
óptima de agregar valores.

Uno y
aquí decimos uno igual
que el anterior uno Pero
usando el operador uno argumenta
uno como
argumento uno como
parámetro, lo siento uno si
en realidad uno podríamos
haber hecho lo mismo uno Podríamos
haber creado esta lista uno por
ejemplo uno podríamos
haber hecho lo mismo 1. Podríamos
haber creado esta lista por separado. uno
y he puesto una lista,
punto, número uno
si fuera el mismo 1 Bueno,
aquí vimos el parámetro. uno arcos
uno ¿Qué
pasa si se ve en un archivo? uno reservado
para esto uno ¿Por
qué es importante que uno
que te damos prioridad uno no
es su importancia 1 Bueno,
entonces es interesante. uno les
hace saber que uno me
refiero uno El
orden en una función común uno por
ejemplo uno
Vamos a crear funciones.

Uno
Creemos otro archivo 1 Funciones,
datos extra uno .py
uno
ya que vamos a poner uno
Creemos una función común uno por
ejemplo una definición,
frase uno
nos preguntará el nombre uno
nos pedirá el apellido uno
y nos va a preguntar uno
vamos acá y le decimos una vuelta
un nombre
de hola uno
y apellido uno
eres muy adjetivo uno Así
que ahora te lo contamos uno por
ejemplo una frase
es igual a frase una frase
es igual a frase una frase
mejor resultante una
frase resultante es igual a frase uno Lucas
Dalto es un jefe uno que
era verdad uno
es un capo uno me
refiero uno pero
hizo esto uno
y no me muestra nada uno entonces
diré uno imprime
una frase
resultante uno
y ahora si 1 Hola
Lucas Dalto uno
eres muy jefe uno fácil
uno ahora
uno podría
uno,
vamos a verlo una actualización
1 Hola
Dalto Lucas uno
No, no cambia uno el
orden es importante uno ahora
uno si
lo pongo aquí por ejemplo un adjetivo
uno mismo
una capucha
uno come
uno Esto
está forzando un argumento uno Y
podemos hacerlo en cualquier momento uno
porque adjetivo es igual a capo uno Entonces
actualizamos uno bien
uno Esto
es precisamente uno
porque si pasamos esto uno tenemos
que pasarle todos los demás uno Entonces
puedo, por ejemplo uno ahora
dice un nombre uno mismo
un lucas
uno y
apellido la misma fecha uno Y
ahora está completo uno el
segundo un valor
2 uno lo
puse en el tercero uno y
el ultimo valor lo puse en el primero uno
nada que ver uno pero
actualizo uno
y me dijo 1 Hola
Lucas Dalto uno
eres muy jefe uno
y funciona igual uno nada
ha cambiado uno
Y cambió los parámetros del lugar.

Uno ¿Por
qué? uno porque
estos son los parámetros uno
Podemos decir que son los parámetros una de
palabras clave uno Los
parámetros de palabras clave uno mientras
los otros uno son
los parámetros requeridos uno me
refiero uno Los
parámetros que son uno posicional
uno
es decir uno Estos
parámetros uno
¿Qué son? uno posicional
uno de
posición un parámetro
1 un parámetro
2 uno
y parámetros una de
palabras clave uno entonces
uno
El orden no afecta uno
igual que uno También
podemos definirlo uno directamente
aquí uno
es decir uno si
yo por ejemplo 1. Esto
lo deja como estaba antes. uno
y aquí te digo un adjetivo
igual tonto uno yo
aquí uno este
uno puedo
cambiarlo uno explica
esto uno
eres muy estúpido uno ejecuto
este código uno Así
que hagamos una cosa uno vamos
a correr lo mismo uno pero
uno vamos
a poner un adjetivo
igual jefe 1 Pongámoslo
al principio 1 Vamos
a dejar esto como estaba antes.

Uno Mismo
nombre Lucas 1 Mismo
apellido Dalto uno vamos
a poner uno creando
una función uno de
los tres parámetros uno y
ahora decimos uno Usando
argumentos de palabras clave uno
son como uno solo
argumentos una palabra
clave uno
y abajo uno de
hecho 1. Vamos
a discutir esto. uno también
uno
porque quiero crear otra
función uno para
hacer algo similar uno
quiero la funcion uno
El segundo que voy a crear uno El
adjetivo lo tiene definido uno como
tonto uno Entonces
aquí no es necesario uno
que le pasemos nada uno yo
aquí por ejemplo uno
te digo esto uno lo
copiaré y pegaré uno abajo
también uno
aqui no es necesario uno
qué pasa adjetivo uno que
puedo pasar un lucas
dalto uno cuando
actualizo esto uno
que me va a decir 1 Hola
Lucas Dalto uno
eres muy estúpido uno pero
aquí uno
Esto siempre será uno tonto
uno
la variable uno lo
estoy definiendo aquí arriba uno pero
si vengo ahora uno y
le pongo adjetivo uno mismo
uno inteligente
uno yo
era tan inteligente uno
que logré cambiarlo uno Estos
son parámetros uno
que ya estan obligados uno viene
definido uno predeterminado
en la función uno
pero queremos uno podemos
cambiarlos uno
es decir 1 ¿Por
qué existe esto? uno
porque allí es lo mismo uno
que venir aqui uno hace
esto y dice uno
este Dalto y lo estas cambiando uno
no uno ¿Sabes
por qué? uno
porque es muy estúpido uno
pero si lo defines uno así
uno bien
uno lo
estas definiendo uno lo
puedes cambiar uno de
hecho uno si
lo hago inteligente un solo
valor predeterminado uno también
esta cambiado uno
porque es un tercer parámetro uno ¿Qué
es opcional? uno si
queremos agregar uno lo
agregamos uno pero
uno es
igual a tonto uno
creando lo mismo uno lo
mismo una función
uno
con un parámetro uno opcional
uno
y un valor uno predeterminado
uno El
parámetro opcional uno es
este uno El
valor predeterminado uno es
una tontería uno
porque te lo podemos dar uno como
parámetro opcional uno más
uno Estamos
definiendo un valor uno Entonces
son ambos uno
Es un parámetro opcional uno y
un valor predeterminado uno Así
es como se hace esto uno bueno
y ahora si una
parte hermosa uno
viene ahora 1 ¿Qué
son las funciones lambda? uno así
que veamos uno Esta
última sección una de
funciones 1 ¿Qué
son las funciones lambda? uno
veamos esto En ese momento, Zell sintió el verdadero
terror.

Oh, el caparazón de tu arma, siempre algo anda mal.
Me paga cientos, miles de dólares en mi tarjeta. y mi producción y la [ __ ] que te di, me lo llevo
todo al [ __ ]. Caparazón de tu arma. Ahora simple, obtengamos un nuevo
archivo, que serán funciones Lambda, que conocen Python o que eran un poco intermitentes,
que entraron e hicieron el parte funcional y quiere saber que es Lambda, le pueden poner
a escuchar o le dijeron Ah, es como la función de flechas en Javascript. Sí, es literalmente como una función de flecha
en javascript. ¿Cómo creamos una función Lambda? Simple, es
el nombre de la función. igual Lambda, parámetro, dos puntos y la
expresión, por ejemplo, por dos. No entendemos nada, pero básicamente vamos a explicar
qué es esto. Aquí lo vamos a poner, multiplicar por dos. Lambda, es una forma de crear una función
anónima. ¿Por qué es anónimo? Porque no tiene nombre. Es como si dijera por ejemplo un String, un String,
esto no tiene nombre. Es un dato anónimo, es un String anónimo. Si creo una lista, esta por ejemplo
es una lista anónima porque es una lista, pero no está asociada
a Nada, es anónima.

Entonces esto es lo mismo, cuando creamos una
función le ponemos def, nombre, función, parámetros, dos puntos y ya no es anónimo porque lo vamos a almacenar aquí.
La diferencia es que Lambda crea funciones anónimas
que luego podemos almacenar, por ejemplo, en variables. Si ahora, por ejemplo, digo imprimir, multiplica
por dos, cinco. ¿Qué me va a duplicar esto? Diez. ¿Qué hace esta función? Lambda simple es una palabra
clave.

Hasta ahora es como dije def, multiplica
por dos y X La diferencia es que aquí estoy dentro diciendo
volver, X por dos. Lo mismo para salvarnos todo este código,
para salvarnos de abrir un bloque de código, porque recuerda que cada vez que abrimos un bloque
de código, es decir, una instrucción, un while, un if, un for,
una función, estamos abriendo bloques de código porque estamos
dejando un espacio este espacio porque abrimos un bloque.

Para evitar hacer todo esto, creamos estas funciones.
¿Cuáles son los beneficios de crear solo
funciones Lambda? Comentémoslo. Creando una función Lambda para multiplicar por
dos. Primero, el primer beneficio es que podemos
usarlo cuando queremos hacer algo simple y Rápido. Y luego regresan automáticamente. No tenemos que andar haciendo devoluciones, devolviendo
la función. Además, es importante demostrar que no son adecuados
cuando tenemos que hacer más de una instrucción. Cuando tenemos que dar más de una expresión,
no conviene Hay una función que por ejemplo es filtrar, con
una función común. El filtro es una función común. Es solo una función incorporada, porque está
integrada en Python. Y sirve para utilizar una función que nos devuelva verdadero
o falso. Y creamos una lista para todos los valores
donde la función era verdadera. Por ejemplo, voy a crear una lista, número uno,
dos, tres, cuatro, cinco, seis, siete, ocho nueve. Más fácil. Aquí voy a crear una función, creando una función común
para decir si es par o no. ¿Lo que hago? Simple, def es par, así que
pongo el número aquí, dos puntos.

Y aquí digo si num el resto de este dividido dos
es igual a cero. Entonces esto es parejo. ¿Por qué? Porque cualquier número que dividimos
entre dos y el resto es uno no tiene par. Uno punto cinco es c. Si el resto es cero es porque es un par de números.
Todo lo que tenga un resto cero es un número.
par. Ponemos dos puntos y decimos devolver verdadero. Y con esto ya estamos. Acabamos de crear una función que devuelve números
de pares. Lo que hace Filter es decir números pares. Será igual a filtrar. Aquí lo que hacemos es decirle mire. Utilice la función espar y pásele los números de parámetros.
Ahora los números son una lista. Le estamos pasando la función lista.

Lo que esto va a hacer es pasarle esa función. ¿Y esto qué va a hacer? Bueno, si ejecuto esto, si notas que te
devolveré diez. Por supuesto, devolví esto porque estamos ejecutando
la otra función. Son números pares. Tenemos que preguntarle sobre los números variables compañeros.
Creemos un objeto de filtro exacto. Porque el objeto de filtro nos devuelve todos estos
valores. Ejecutamos esta función y el parámetro es cada uno
de estos valores de la lista. Es como si estuviéramos dando una vuelta. Es como un bucle artificial. Lo cual no es un bucle sino que es artificial. ¿Por qué? Porque dice mira. ¿Ves esta función que está aquí? Si bien. Ahora en el primer turno el número será igual
a uno. En el segundo a dos. En los otros tres. Y así con cada valor del array.

Si la matriz tiene diez elementos, lo hará diez
veces. Y en cada uno pasará un valor diferente del
elemento. Aquellos que devuelvan verdadero se agregarán
a una lista que luego devolverá. Los que devuelven false no los agregan. Entonces, si ahora les damos números pares
y hacemos esta lista. Venimos aquí y ponemos Lo convertimos en una lista. Damos la lista de números pares. Actualizamos. Y ahora devuelve una lista de números de pares.
Si aquí, por ejemplo, le sumo once,
trece, catorce, quince y veinte. ¿Cuáles me vas a devolver? Pues me va a devolver los catorce y los veinte. Cuáles fueron los únicos pares que agregué.

Y si ahora quiero los números por ejemplo.
No son pares pero sí impares. Con esto tengo los números impares. ¿Cómo podemos ejecutar esta función con el
ejemplo? No con función lambda. Bueno, es fácil. En lugar de hacer todo esto vamos a decir crear lo mismo
que antes pero con lambda. Discutamos esto, esto, esto y esto. Y todo lo que tenemos que decir está aquí. Descomento esto. Y aquí en lugar de hacer todo esto simplemente pongo.
Lambda, número, dos puntos, número, resto. Dos son iguales a cero. Si el resto de dos es igual a cero. Nos devolverá la verdad. Algo genial va a regresar a nosotros. O sea esto. Si no, no se nos devolverá nada. Entonces ejecuto esto. Y volverá exactamente igual. Para eso sirve lambda. Para simplificar todo este código que estaba aquí.
Lo simplificamos con lambda. Es simple, esta es la funcionalidad. Entonces decimos mira. Creando lo mismo que antes pero con lambda. Demasiado fácil. ¿Cómo funciona esto? Decimos mirar. Hagamos una función anónima. Tiene un parámetro numérico. ¿Bueno? Número que vamos a dividir por dos.

Y si esto es igual a cero lo devolvemos. De lo contrario vamos a devolver algo que es falso. Lo que hace la función de filtro es Ejecuta cada uno de los valores de un iterable. cada uno de los valores. Él los está dirigiendo aquí. Si le pasamos un texto, ejecuta el texto. Cada valor que le pasemos se ejecutará aquí.
Entonces, para crear una función desde cero. Nosotros ejecutamos esto. Entonces en la primera ronda. Valdrá la pena uno. El número valdrá uno. Uno dividió a dos. Dale descanso uno. Entonces valdrá falso. No se agregará a la lista. En segunda vuelta valdrá por dos. Para que sepas cuando hacemos lo mismo. Aquí hay cero. Luego se devuelve el número. Y si se devuelve el número, se agrega la lista. Asi es como funciona. Demasiado fácil. Si devuelve verdadero. O algo que nos dé verdad. Lo agregamos a la lista. Si no nos devuelve. lo sacamos Es muy importante esta función. Lo usaremos mucho más tarde. Así que es bueno que hagamos un primer vistazo.
De la función de filtro. con lambda. Tan bueno. Acabamos de terminar el apartado de funciones.

Está empezando a volverse bastante complejo
el tema. Le dije que éste no era un curso tan tranquilo. Si es un curso tranquilo. Pero tiene sus cosas avanzadas. Porque si no podemos decir que es un curso
completo. Y diferente. Y eso es a lo que quiero llegar con este curso. Bien. Creo que podemos pasar al siguiente. La siguiente parte de este curso. Que son los ejercicios prácticos dos. Ahora si vienen ejercicios. Más complicado que los anteriores. versión dos. Y creo que ahora es un buen momento. Para ir a cambiarse de camisa. Podemos ir y subir de nivel. Porque una vez que sigamos adelante. Estamos subiendo de nivel. Entonces por allá. Podríamos cambiar camisulis. Para realizar estos ejercicios prácticos. Porque cuando los dominamos. Estamos subiendo. Entonces yo diría eso. Es hora de cambiarlo. ¿Les parece? Subamos de nivel. Vamos con los ejercicios prácticos dos. Ir. Estos ya están avanzados. Ya son intermedios avanzados para el curso. Podemos decir que sí. Esto ya es intermedio. Para el curso es avanzado. Pero en general. Es un nivel intermedio.

Entonces vamos. Bueno, la verdad es que no me lo complicó tanto, ¿vale?
No me complicé tanto y anoté los ejercicios en
un celular ¿Por qué? Porque dije, mira lo que vamos a
hacer voz en off. ¿Sabes por qué tarda tanto? ¿Se tarda tanto en realizar
los cursos? Porque hago locuciones, hago animaciones, edito
mucho En lugar de tardar una semana como tardan todos
los creadores tomo 4, 5, 6 meses ¿Por qué? ¿Y por qué me tomé el tiempo de
venir…? Esta no es mi casa, este es un estudio. Contraté especialmente esto para grabar. Entonces tengo que viajar 40 minutos que
quiero grabar un video. Un vídeo, este que graba 40 minutos. Por eso grabo todo de una vez Luego tengo que armar las escenas. tengo que andar haciendo el tema y uno dándomelo Preparar clases con antelación Edito todo mucho, me lleva mucho tiempo editar Cada media hora de fragmento que edito, en promedio
Normalmente me lleva más de un día, más de un día.
Y no me estoy tirando pedos en todo el día Entonces lleva tiempo Y también las locuciones que hago.

Esos no son esos videos de media hora, no incluyen
voces en off. Es decir, las locuciones, una locución Son los que son animaciones, gráficos y demás. Sin mi cara, cuando aparece una pantalla Veamos un ejemplo de lo que es una voz en
off. Una voz en off es cuando, obviamente, no… Ok, sí, sí, eso es una voz en off en sí. eso lleva mucho tiempo hacerlo entonces dije ok más fácil Tengo aquí el temario, ejercicios prácticos 2.
Aquí lo tienes Vamos con el primer ejercicio. Hoy el profesor de la clase estuvo ausente. Y los chicos se organizaron para armar el
suyo. Uno de los estudiantes va a ser el maestro. Y otro será su asistente. A. Preguntar por el nombre y edad de los acompañantes. quien vino a clase hoy Y ordena los datos de mayor a menor.

B. El mayor de la clase es el profesor. Y el menor es el asistente. La pregunta es ¿quién es el asistente y quién
el profesor? Bueno, aquí está la carpeta, así que Ejercicios-2 Y en un archivo al que llamo ejercicios-2.py Bueno, lo primero que tenemos que hacer es
anotar los datos. Anota siempre los datos Vamos pues faltaba la profesora Y los niños van a armar la clase. Bueno primero vamos a preguntar el nombre y la edad.
De los compañeros que vinieron hoy a clase. comencemos con eso vamos a dejar esto atras colegas, lo mismo Una lista Allí va entonces diremos Digamos Para yo en el rango Y aquí vamos a hacer como si vinieran 7 compañeros.
ahí está, 7 A partir de 2 puntos, es decir, vamos a ejecutar este bucle
7 veces.

Empecemos Y se ejecutará 7 veces Un bucle que preguntará al usuario. el nombre, el mismo Aporte ingresar lo siento, el nombre del socio Y la edad será igual a Lo mismo Aporte ingresar Edad del socio Pero recuerda que esto devuelve una cadena. Por mucho que el chico introduzca un número Devolverá una cadena Entonces tenemos que poner En Aporte Para que la respuesta que nos des sea automática convertirse en un número entero Ningún problema El socio ahora será igual a una tupla con nombre y edad Y vamos a agregar a esta lista este tipo compañeros.añadir Pareja Ahí estamos Bueno aquí básicamente tenemos los datos de
los acompañantes.

Pero como queremos ordenarlo al azar ¿Qué vamos a hacer? pongamos esto Número de acompañantes Y lo que vamos a hacer aquí es Esto lo puso dentro de una función. así que digamos desarrollador conseguir compañeros ¿Qué nos va a pedir exactamente? El número de colegas 2 puntos Y ejecutamos todo este código. Todos lo vamos a avanzar Lo necesario para que puedas estar bien identificado Y no nos arrojes errores Y ahí tenemos el código. Esta es una función ¿Funciona? Ahora, una vez que estemos fuera del for Lo que tenemos que hacer es ordenar esto. Porque eso es todo, lo tenemos todo.

Pero no podemos hacer esto con max y con min Solo tengamos la información. Quiero decir, sí podemos Hacer un bucle que se ejecute simultáneamente Al mismo tiempo Es decir, creamos dos listas separadas. Y los estamos ejecutando simultáneamente. Pero ese es un largo camino Podemos hacerlo con una función que ya hemos visto
así que digamos compañeros de clase.sort Y aquí decimos que la clave es igual a Lambda x2 : x1 Porque sabemos que la edad es el segundo parámetro Y el segundo aquí lo ponemos como 1 Así que esto es básicamente lo que va a hacer.
Ordenanos amigo por clave ¿Cuál es la clave? Bueno, el segundo valor de la tupla.

Es fácil Aquí te los explico Básicamente esto crea una especie de iterable o lista Podemos decirlo, tupla, lo que quieran. en el que dice che mira Ok vamos a arreglarlo Recuerde que ordenar es una función que ordena Bueno la pregunta es vamos a ordenarlo ¿Pero cómo lo vamos a ordenar? Bueno quiero que lo pidas para el segundo parámetro
El segundo parámetro es la edad. Así que clasifiquémoslos por edad. de menor a mayor O sea, esto dice che mira tenemos dos datos Es decir, podemos pedir el conjunto. ¿Pero cómo te ordenamos? Es decir, ¿cuál es el parámetro que crees
que tenemos en cuenta? ¿Para encargarlo? porque puede ser por nombre en orden alfabético ¿Por qué quieres pedirlo? Y quiero ordenarlo por el número más grande. quiero que los pedidos del numero sea de mayor numero
Bueno dame un dato numérico aquí está tu edad Entonces, esta lista con tuplas Pídemelo de nuevo con la tupla Cuyo segundo valor ser el menos y las tuplas Donde el segundo valor es el más pequeño.

Ellos pasan adelante Y aquellos con los valores más altos. ve al final eso es lo que hacemos aquí Estamos pidiendo acompañantes Para esto Con el tiempo, más empiezan a utilizar
funciones lambda. Más se darán cuenta de lo que es esto. Pero es bastante simple KEY es precisamente un parámetro que estamos forzando
Es un parámetro opcional. Te estamos diciendo que queremos que hagas tu pedido.
Por el segundo parámetro de cada Esta función lo que hace es devolvernos esto Ahora bien, ¿cómo sabemos cuál es la pareja? Simple el socio es Tenemos al asistente a un lado que será igual a los compañeros Accedamos al valor de la tupla. Accedamos primero a la lista. Bueno La lista El elemento cero de la lista será el que primero
se ordene Y luego el elemento de la lista cero tiene dos
elementos.

Bueno, accedamos al elemento cero. Y luego Esto se debe a que es de menor a mayor. Entonces el asistente es el menor. ¿Cómo accedemos al menor? Simple si tenemos una lista Ok, una lista con listas. tenemos esto Uno dos Uno dos Uno dos Esto es lo que tenemos Entonces estamos diciendo Mira, accedí a la lista. Ok, estamos aquí ¿Qué elemento de la lista? el cero ok aqui esta Estaban aquí estamos en este elemento Ahora Este elemento a su vez tiene dos elementos. ¿Cuál elegimos? ¿El uno o los dos? El cero, es decir, el primero. este de aquí ¿Por qué? porque este seria el nombre Recuerda que primero pusimos el nombre
y luego le di ¿O es este el nombre? Bueno, entonces me vas a mostrar el nombre. Del primer elemento de todo lo que aparece. ¿Cual es el primero? El más jóven ¿Por qué lo ordenamos de mayor a menor? Entonces el mago es igual a esto.

Y el maestro es el último. último en la lista Pero ¿cómo sabemos cuál es el último? Porque puede haber millones de estudiantes Bueno, ¿recuerdas cómo acceder al último elemento
de una lista? Es simple Compañeros menos uno De esta forma accedemos al último elemento. cero es primero El menos uno es empezamos de nuevo Y luego el elemento cero.

Porque queremos acceder al último elemento. al nombre Entonces lo que vamos a hacer ahora es regresar Eran Creamos una función que hizo esto por nosotros. Así que ahora si quieres podemos discutirlo bien. Pero verifiquemos que funciona. Digamos conseguir compañeros Y quiero fingir que hay 5 compañeros ¿No? 5 compañeros esto me va a devolver algo Bueno voy a decir que le voy a preguntar profesor auxiliar igual a esto Porque estamos descomprimiendo el valor. Aquí podría haber cualquier nombre. No tienen que ser iguales Recuerda que estos solo existen dentro de
la función. Afuera no existen Y ahora simplemente vamos a traer la impresión. el asistente es Dos puntos Y ahora aquí agrego el asistente. Pero aquí tenemos que poner una F delante. Bueno, si no nos cuentas Y copiamos, pegamos Y ponemos al maestro Es más, incluso podemos juntarlo todo. Podemos hacer esto Eliminar la línea de arriba Y pon el maestro es tal y su asistente es Y ahí lo agregamos Hay Ahora sí Ejecutamos y comprobamos que funciona. Número de acompañantes no está definido. Perfecto Porque son varios compañeros.

Allí va Ahora sí volvemos corriendo Corremos e ingresamos el nombre del socio. Bueno aquí tenemos que dejar dos puntos. Espacio Porque si no nos vamos a quedar estancados voy a poner la edad del compañero el nombre del socio es lucas La edad de la pareja es Treinta el nombre del socio es Fran La edad de la pareja es Veinticinco Ingrese el nombre del socio voy a poner a camila La edad de la pareja es Veintisiete nombre del compañero Roberto La edad de la pareja.

Veintinueve Ingrese el nombre del socio Pedro La edad de la pareja. Cuarenta y dos El profesor es Pedro y su asistente es Roberto Perfecto Porque Pedro tiene 42 años. el es mas grande 19 es el más joven. Esto funciona y se ejecuta
desde 10. Y aquí tenemos una función. explicando los últimos conceptos que estábamos
aprendiendo. Aplicamos bucles, aplicamos el función solar, métodos de cadena, etc., aplicamos
funciones, aplicamos desempaquetado, todo esto en tan solo un simple ejercicio
que resume varios elementos que fuimos aprendiendo. Vamos a comentar un poco el código y voy a
mostrar cómo es. Listo, aquí lo tenemos. Función para obtener el asistente y el maestro según la edad.
Entonces creamos la función. creando la lista con los socios, la creamos ejecutando un for
para solicitar información a cada socio, este es el para. Dentro del for agregamos la información
a la lista, la agregamos. Después Ordenamos los números de menor a mayor según la edad, lo hacemos
aquí.

Después de compañeros X, es decir, esto que está aquí, devuelve una tupla
con nombre y edad. Y luego accedemos Nombre, o esto está aquí. El nombre es el primer
valor, esto está aquí. Para definir asistente Y Profesor, ¿qué hacemos? definimos
asistente y luego definimos maestro, acceder a los valores de sus pares. Después
devolvemos una tupla que después descomprimimos para finalmente mostrar
el resultado. Esa fue una hermosa resolución. de este ejercicio en Python. Ahora sí, vamos con
la siguiente. Ok, el segundo ejercicio. no me lo des complicar mucho. Dije, che, creemos una función que
cuando le pasamos un número, nos genere números. primos hasta ese número.

Por ejemplo si
le pasamos el número 15 nos pasaría el 1, 3, 7, 11 y 13. ¿Por qué? Por
qué son los números primos del 0 al 15. Es digamos, creamos una función que nos devuelve
un número primo del 0 al número eso le pasamos hagamos una función bastante
básica que luego te voy a permitir que lo optimicen. Creemos un nuevo archivo
que se llamará ejercicios2.2.py. Bien, ahora Nosotros mismos vamos a comentar la función, creando una función
que devuelva los números. primos entre 0 y el número que pasamos. Perfecto. Bueno, def,
números, números primos, num, dos puntos y aquí Empezamos a crear la función. si un número
es divisible por otro, el resto es 0. Entonces Tendríamos que dividir el número. Pasan
por todos los números. En otras palabras, un bucle anidado. Bueno, primero creemos una función que verifique
si es un número primo o no.

OK vamos poner es prima. ¿Por qué? porque como tenemos
que usar un bucle dentro de otro bucle, va ser mejor que en lugar de poner dos bucles, creemos una función
que primero defina si ese número puntualmente es primo y luego otra función que ejecuta un bucle
que llamará a esa función que al mismo tiempo llama a otro bucle. Entonces es una forma
de hacer bucles anidados sin la necesidad de hacer bucles anidado, porque en realidad llamamos a una
función. No es un bucle anidado como tal. Si a nivel de ejecución, pero no a nivel de código, en términos
de legibilidad. Entonces vamos hazlo. Para i en el rango num. Ejecutemos un bucle
la misma cantidad de veces que el número eso pasémoslo Entonces, ¿cómo comprobamos
qué es primo? Simple.

Lo que hacemos es, Ese número dividámoslo por i, que es un incrementador
que va a aumentar. Así que pongamos Este para eso vamos a leer los dos puntos y vamos, comencemos.
Si i, el resto de dividir el número para mí, ahí va, es igual a cero, es decir, si dividimos el número,
supongamos que este vale 10, ¿no? en la primera vuelta este será 1, en el segundo será 2, en
el 3 será 3. Entonces iremos verificando en todos los turnos que el número no se puede
dividir. En caso de que el resto sea cero, es porque sí, se puede dividir por un número. Si se podría
dividir por un número. Entonces vamos para comenzar del 2 al núm. Empezamos desde 2 porque
si se puede dividir entre 1 me dirá que Puede, y todos los números se pueden dividir por
1.

Por 1 y por el mismo número. Entonces deberíamos decir deja que esto se coma esto. ¿Por qué? y
tiene que restar 1 porque si se divide por si mismo también va a da resto 0. Entonces tiene que ser de
2 y este número menos 1. Repito, porque sí tu puedes dividir por sí mismo, esto nos devolverá
0 y se volverá cierto y no necesitamos ser eso. Entonces aquí ponemos dos puntos y aquí ponemos
falso. En caso de que se pueda dividir para algunos El número mayor que 2 y menor que sí mismo es primo.
Entonces vamos a devolver falso. Más fácil vamos para usar lo que aprendimos y le vamos a dar un respiro.

Y ahí
terminó el bucle. si esto encuentra Eso puedes dividir, terminar el ciclo. Eso es todo,
el ciclo terminó y termina. En caso de que el bucle terminado, hagamos lo siguiente. Dos puntos.
Ejecutemos más de una expresión como esta. que este dejémoslo así. Dejémoslo porque
vamos a usar más de una expresión. primero vamos decir que devolvemos falso. ¿Por qué?
Y fácil porque sí, perdón, no es falso.

FALSO. si se trata de encontrarse en algún momento, esto se debe
a que es falso. Eso es todo, no hay necesidad de darse la vuelta. No lo es FALSO. Porque si se puede dividir por un número,
ya está. Y si esto devuelve falso, el bucle terminar, dejar de ejecutarse. porque si devolvemos
falso, cuando una función regresa algo, en esto caso es como si usáramos un descanso porque
terminaba ahí. Ya funciona cuando se ejecuta el regreso, deja de funcionar. todo lo que viene después
de la devolución, ya no se ejecuta. y si esto termina para ejecutarse sin devolver false, es porque ningún
número era primo. Entonces vamos a regresar, verifiquemos si esto funciona.
El resultado es igual a es primo y lo vamos a pasar. el 7. Y aquí vamos a decir imprimir resultado.

Ejecutamos
y nos dice verdadero, es primo. Está bien, vamos para pasarle el 9. Es primo 9, falso. ¿Bueno para qué?
Porque 7 es primo. 13 es un número prima, cierto. Entonces, espera, esta es una función
que sabemos que devuelve un número primo. Muy sencillo, muy fácil y muy rápido. Ahora tenemos que hacer
otra función en la que llamamos a esta función. Entonces que los vamos a crear. Creemos otra función, deje
que sea prima. aqui ponemos otro núm. Entonces aquí lo que hacemos es lo mismo.
Para e en el rango 2 num num. Entonces, para e en el rango núm. Y aquí dentro del ciclo vamos a verificar que cada
uno de estos números es primo. Entonces ponemos es prima y le vamos a dar resultados. Y de hecho, si el resultado es verdadero,
si el resultado es igual a verdadero, luego vamos a crear una lista que sea la misma
lista prima.

Aquí vamos a decir primos punto adjuntar y le vamos a dar append y al final del for le vamos a devolver
primos. Entonces, a partir de esto forma, si ahora ejecutamos números primos hasta el 13, al
ejecutar esto vamos a ver que dice 0, 1, 2, 3, 5, 7, once. Porque estamos ejecutando los números primos
del 0 al 11. Deberíamos evitar que salga. 0, pero no importa. Vamos a golpearlo dentro del alcance. En
sí, arrancamos desde 2. Porque podemos decir eso 1 es un número primo, pero comencemos
desde 2. Empezamos desde 2 porque 1 no es un número primo. Y ahí nos tira los datos. 2, 3, 5, 7, 11.
De hecho, aquí podríamos empezar De 1, no desde 2.

Porque nos está tomando en cuenta 2 como
número primo. y aqui hay menos uno. Entonces ahí corremos. Aquí vamos a agregar
un 1. Actualizamos y ahora me devolvió 2, 3, 5, 11 y 13. Aquí para que esto no funcione
vamos a quitar el 2 y poner el 3. Es un cambio Que vamos hacer para que simplemente el 2 no coja.
Y ahí estaría contando todos los números. 13 a el 13. El único problema es que aquí el día
13 no nos lo quita. Es decir, si notas el 13 no lo hicimos tomando.

Y 13 es un número primo. Y eso dice
hasta 13. Entonces, para eso tengo que dale más 1. Actualizado y 13 ya está incluido. Entonces ahora
me está tirando todos los números. primos del 0 al número que le pasamos. De hecho,
si pasamos aquí, por ejemplo, 98, actualizar y tenemos todos los números primos del
0 al 98. Y la cantidad de de números primos que se encuentran en él. Es fascinante.
Esta función es una función válida y excelente, Yo diría. Hay otra forma matemática de hacerlo
multiplicando por 0,5 y el resto. Pero no lo vamos a hacer ahora porque podría
marearte mucho. quédate con este forma, con esta solución tienes razón. Entonces,
ahora vamos a comentar cada parte del código. a explica cómo lo hicimos. ok, aquí vamos
a crear una función que verifique si un número es prima. Aquí ya lo creamos. Perfecto. verificamos que
el número pasado no se puede dividir por No número entre 2 y ese mismo número menos 1. Si
es divisible por cualquiera, devolvemos falso y termina bucle. Si el bucle termina, significa que no
era divisible, por lo que es primo.

Regresamos verdadero. Esta función ya está comentada. Vamos a comentar a continuación.
creando una función que devuelve una lista con todos los primos creamos la lista. verificamos si el
valor es primo. En caso de que sea así, lo agregamos a la lista. Devolvemos la lista.
Hay. Creamos el resultado llamando funcionar y lo mostramos. Allí hemos ejecutado el ejercicio
2 de Python. Fascinante. Sí, biumberella soy fan. ahora básicamente tenemos
que hacer lo mismo que esto en el ejercicio 3, pero con una diferencia. El ejercicio 3 nos pide
que escribamos un programa que calcule la serie.

De Fibonacci hasta un número específico de términos.
Esto significa que, en lugar de mostrar todos los primos hay, del 2 al numero que mas llamamos,
tenemos que mostrar lo mismo, pero en fibonacci. En lugar de números primos, se utilizan series
de Fibonacci entre un rango determinado. Es decir, entre 0 y el número que le pasamos. ¿Qué es la serie
de Fibonacci para las personas que no? ¿la conoces? Imaginemos que agarramos el 1. 1 más
1, 2. 2 más 1, 3. 3 más 2, 5. 5 más 3, 8. 8 más 5, 13. 13 más 8, 21. 21 más 13, 34. Y así sucesivamente. Es
una serie de números consecutivos en los que agarramos un número y sumarlo al anterior. Nos da un tercer
resultado. ese tercer resultado lo agregamos al anterior y nos da otro resultado. ese resultado
lo sumamos al anterior y nos da… ya está. Es básicamente eso. Busque una secuencia de Fibonacci.
Aquí lo tienes. Esta es la sucesión de fibonacci. Es una secuencia infinita de números naturales.

Ahora
bien, Fibonacci es la secuencia clásica. de 1 adelante. Pero podemos hacerlo de cualquier
forma. Podemos empezar desde las 9 si quieres. Poder arranca desde 40. Podemos arrancar desde
57. Desde el número que quieras. 57 más 57, 114. 114 más 57. Y pueden hacerlo desde
allí. Solo que el original es del 1. Por eso Vamos a empezar a calcular la serie de Fibonacci desde
el 0 hasta el número que le pasemos. Entonces el cual vamos a crear un nuevo archivo. Ejercicios 2.3.py.
Creando una función que devuelve la serie fibonacci entre 0 y el número dado. Bien. Creémoslo. def fibonacci
núm. El fibonacci un número. Ir a ser igual a 2 puntos. Y ahora vamos a empezar a
crear la función. Este es bastante simple. Primero vamos a crear una tupla.

Y luego vamos
a descomprimirlo. Fácil. valor a yb es igual a 0 y 1. Fácil. Creemos un for dei en
el rango num. A para eso se ejecuta desde 0 arriba el número que pasamos. Entonces, vayamos
a hacer lo siguiente. Si a más b es mayor ¿Qué número regresa? número más. Dos puntos. Aquí viene la magia.
Lo que decíamos ahora es que a es igual a b y b son iguales aa más b.

Desembalémoslo. A y B. A es igual
a ab y b es igual a a más b. yo como ¿nosotros hacemos esto? Fácil. Aquí estamos desempacando. A es
igual a ab y b es igual a a más b. Aquí lo tienes la clave de fibonacci. Ponlo en un bucle. Lo único que tenemos
que hacer a continuación es al final. del para devolvemos num. Eso es todo. Aquí tenemos la serie
de Fibonacci. ahora esto esta aqui no haciendo nada. Entonces, lo que tenemos
que hacer es derribarlo y salvar estos datos. Digamos que la lista de Fibonacci es igual desde que
creamos la lista y aquí en otra cosa simplemente agreguemos punto de la lista de fibonacci anexar b.

Y ahora volvemos en lugar
de la lista de números de Fibonacci. Entonces vamos a correcto que esto funcione. Mismo resultado
Fibonacci de 0 a 20. Imprimir resultado. Actualizamos, vamos a revisar. Esto aquí es innecesario
porque en algún momento esta función es perdón será ejecutado. Entonces solo tenemos qué
decir en la lista de Fibonacci. Actualizamos y ahora deberia de funcionar. 1, 1 más 0, 1. De hecho,
comenzamos desde 0. Podemos hacer el primero El valor es 0. Ahí está. Y empezamos. 0 y 1.
0 más 1, 1. 1 más 1, 2. 1 más 2, 3.

2 más 3, 5. 3 más 5, 8. Si lo hubiésemos pasado, aquí
lo que faltaba era acompañarnos una última vez. más el valor. Porque a más b dice que es mayor que num. Si
esto es mayor que esto, nos devolverá. el listo. Cuando 8 más 5 es igual a 13, simplemente
no se ejecutó. Es decir, no fue agregado. De hecho, si lo hubiéramos pasado por ejemplo el siguiente, que
es 21, este me dio 13.

Y si lo hubiésemos tenido pasado el siguiente, que es el 34, habría
pasado el 21. Pero si lo hubiera tirado 33, que es un número menos, no. Aquí te decimos si a más
b es un número. lo que tenemos que hacer es decir quien solo quiere comprobar que b es mayor que el
número. Así que actualizamos y ahora obras. Si pasamos el 34, lo incluye dentro de
esta lista.

Tenemos una función que devoluciones Fibonacci. Aquí vamos a resolver los ejercicios.
Y no son ejercicios matemáticos. porque podrían Véalo como matemáticas. Las matemáticas son la lógica.
Es una herramienta muy fácil. Es un número que cogemos el anterior y se lo añadimos. Ya tomamos
ese resultado del anterior y lo agregamos. Y nos aferramos a ese resultado. Es fácil. No
es que sean matemáticas. Es solo programación. Porque lo que hay aquí, no veo las matemáticas. Simplemente
veo un más aquí, un mayor que y no Veo más matemáticas. Entiendo que todo esto
es lógica matemática.

Pero veamos, no hay mucho más ciencia. Es simplemente lógico. Bien, eso
lo podemos aplicar usando elementos de programación. ¿Qué es asignar valores a variables, bucles,
una función naranja, crear nuestra funciona en sí, pasa parámetros. Es simplemente
realizar y poner en práctica todo lo que Hemos estado aprendiendo, lo cual es fantástico. Entonces
podemos decir que ya nos dimos cuenta de Fibonacci. Espectacular. De hecho, hay una forma más sencilla
de hacerlo. Y más fácil. Porque te desafío a estos ejercicios que están aquí. A ver,
¿esto sirve? Sí. ¿Hay algo mejor? forma ¿para hacerlo? Sí. Por eso te desafío a encontrarlo. Lo
que realmente quiero es que tú agarrar esto y mejorarlo. Porque ese es el objetivo. De
hecho, si son creadores de contenidos o ellos se animan Para hacer un video creando contenido, te reto a
hacer un video. Hacen un video haciendo cada parte. Un vídeo resolviendo ejercicios prácticos.
Uno, de la mejor manera posible. uno, ejercicios práctico. Dos, de la mejor manera posible.
Y otro, ejercicios prácticos.

Tres, de los mejor manera posible. Los tres ejercicios prácticos,
uno que aún falta que no lo hice, os reto. Entonces anímate Hazlo. De hecho, si eres
un espectador y quieres ver si otras personas él Lo hicieron, hay que buscar en Google. resolución de
ejercicios del curso Python de Dalto. usar el hashtag Dalto ejercicios resueltos. hashtag Dalto
ejercicios resueltos. entonces si yo desear Encuéntralos, puedo verlo. Y si toda la gente
que está viendo este vídeo quiere verte A usted resolviendo los ejercicios de la mejor manera posible,
también podrá encontrarte.

Entonces que todos hacemos ese hashtag. Hashtag ese, ¿vale? Bueno,
me tomé el tiempo en mi casa para armar un código bastante rápido y esto es lo que salió.
Pude lograrlo en una sola línea de código. veamos si Lo entiendes, tómate tu tiempo, pausa el
vídeo y trata de entender qué es. El pasó. El Te desafío a descubrir cuál es la función que utilicé
aquí, como por ejemplo Todos. investigar Bueno, ¿qué hace este código y cómo
lograr hacerlo en una sola línea? Esto es para que puedes probar lo mismo en los
demás ejercicios para reducirlo lo más posible ellos pueden. No Siempre reducir el código es lo mejor. Es decir,
a veces un código más largo es mejor. pero más legible y no un código simplificado en una sola línea
del que no se entiende nada.

Pero no lo es más para saber optimizar correctamente. Así que los desafío
a ver qué pueden hacer. Esto es la forma reducir al máximo el ejercicio de los números
primos. Ahora si gente, vamos. con el siguiente sección, que es una sección espectacular
porque es en lo que tenemos que entrar a Sección semi avanzada. Os dejo que
no quiero decir muchas palabras más. dejo de esta sección y ahora vamos de una vez por
todas con una hermosa sección que es los módulos. Ir. Estamos en una de las rectas finales del curso, Estamos
en un momento en el que sé que estás Ya comprometido con la causa, la causa de aprender
Python, por supuesto, después de pensarlo. pero investigando lo suficiente me di cuenta de que
en realidad no me importa mucho, porque si fueras capaz de entender todas las cosas que hemos visto hasta
ahora, o al menos el 93%, es decir, Si te quedaste con 3 o 4 cositas, no importa, es
perfecto, eso no cuenta, pero todo sí.

Lo demás lo entendiste bien, estamos hablando de
variables, de funciones, de métodos de cadenas, métodos de lista, bucles, desempaquetado,
los ejercicios prácticos, si llegaste a esto El punto es porque al menos viste lo anterior. Por eso no me preocupa, y por eso después de reconsiderarlo
dije, sí, esta persona. es capaz de lograrlo, esta persona es capaz de terminar
este curso de Python, porque el Cada vez hay más gente que empieza
un curso y no lo acaba, y que hasta aquí se ha llegado. significa algo que es muy positivo, y es que obviamente
quieres, obviamente quieres lograrlo, entonces depende de ti lograr
el objetivo, pero lo estás haciendo excelentemente está bien si se trata de llegar al destino. Así que nuevamente comenzamos con este
apartado muy importante del curso, vamos así ahora. lo mismo para ir con los modulos, tengo piola,
fue frashero, estuvo muy epico no? Gracias. Ok, concéntrate en esta parte porque es muy importante,
para empezar, ¿qué es un módulo? Pues atención, un módulo es cualquier archivo .py,
sí, eso es lo que estamos viendo en pantalla hay un módulo, ejercicios 2.3.py, si
esto es un módulo, ¿por qué es un módulo? Porque tiene la extensión .py, sé lo que es difícil,
sé que es difícil, pero cuidado, este elif.py es un módulo, déjame pensarlo,
veamos elif.py, tiene el.py si es un módulo, ok listo es un módulo, sé que es complicado, lo sé,
pero por favor estad atentos, vamos una vez más, entradas, esto aquí,
tienen 4 líneas de código y la mitad son comentarios completos, ¿es este un módulo? Si, ay que complicado, por Dios, que complicado
no sé si seguir, pues la verdad que no.

Esta parte es complicada, es bastante simple, todos los
archivos terminan en extensión. .py son módulos, los vamos a cerrar todos, a la [ __
] que eran suficientes, por qué ¿A qué llamamos módulos? Y básicamente lo llamamos módulos porque
de un módulo podemos llamar a otro, de un módulo podemos crear otro, podemos cambiar las
rutas, podemos acceder, podemos formar paquetes, si por ejemplo creo un módulo con muchas
funciones, supongamos que tengo para calcular la función de fibonacci que hicimos
en el ejercicio anterior, ahora Ya lo creen, no quiero andar creando esa función todo el tiempo,
fácil, creo un módulo con el función de fibonacci y todas las demás funciones que
necesito, luego desde un módulo new a ese módulo anterior le llamo, y ahora
con solo llamarlo puedo usar todos los funciones y todo el código que hice en el
otro módulo, es genial, es como la forma Para dividir el programa en partes y usarlo
y manejarlo como queramos, básicamente tenemos tres tipos de módulos, esto es muy simple, tenemos
primero y principal los módulos python, los módulos de python, que son los módulos
que crea python, que ya están llegando integrado en Python, estos módulos posteriores
están escritos en C, es decir, C es un lenguaje programación, que es de nivel inferior
a python, están escritos en C por eso llaman módulos de Python, no son módulos comunes sino que
son módulos creados por el propio Python pero en C, pero siguen siendo módulos, luego
tenemos los módulos de terceros cualquiera módulos de terceros, que es como por ejemplo,
ahora creo mi propio módulo, con funciones especificas que
te sirven, lo subo a internet y lo haces quieren, pueden descargarlo y usarlo, bueno,
ese sería un módulo de terceros, porque Yo lo creo, lo subí a internet y ustedes lo descargaron,
no es un módulo que ustedes crear, es un módulo de otra persona, empresas que
crean sus propios códigos, digamos bibliotecas, todas esas cosas son módulos de terceros,
puedes descargarlos y usarlos sin problema, y luego tenemos los módulos propios, son los módulos propios,
nuestros propios módulos, los módulos también, que son como los módulos
creados por nosotros, ok, esos tres tipos de módulos, que son Python nativos
y están escritos en C, los módulos terceros que son módulos creados por alguien
más u otra empresa u otra persona que no somos nosotros, y luego los nuestros,
los que creamos para facilitar la vida o por algo, pero son nuestros, cabe aclarar
que los dos últimos módulos son él igual, es decir, un módulo de terceros es lo mismo que
un módulo propio, es decir, módulos de terceros son los mismos que nuestros módulos, ¿por
qué qué? Y porque si trabajara en Facebook, un módulo El propio sería un módulo creado por Facebook,
pero si trabajo en Amazon y uso un módulo de Facebook, no es un módulo propio, es un módulo
de terceros, es decir, en cuanto a archivo ya significado es el mismo, pero
solo depende, si no son mios te digo de terceros, si son mios digo mios, los que son diferentes
son los que son de python, los que son nativos porque están escritos en C, no son
archivos .py, pero sí escritos en otro idioma, son como más internos de
python, bueno hagamos una nueva carpeta el cual va a ser módulos, y dentro vamos a crear un archivo
que será módulos.py, este La función module.py llamará a otra función,
ok, vamos a crear otro archivo que será, aquí también, el módulo saludar.py,
aquí vamos a crear la función típica de saludar que ya habíamos creado antes, fácil, def saludar
nombre, dos puntos, imprimir f, hola nombre, espero que hayas tenido un día maravilloso,
si ahora vamos por ejemplo a este función que imprimimos o saludamos
Solo di hola Lucas, cuando mostramos el saludo A ver que nos dice, actualización Nos
dice que no, porque no lo devolvemos perdón le vamos a dar una vuelta, la devolvemos y le devolvemos esto,
a ver si actualizamos y hola lucas espero que tengas un maravilloso día aquí
te tenemos el saludo, ahora si quisiéramos usar es función pero desde otro módulo, es decir,
quiero usar desde este módulo para saludar Lucas y saluda también, como podemos hacer
eso, bueno para eso tenemos que importar.

El módulo, básicamente tenemos que acceder
a ese módulo desde otro archivo, para eso solo usamos importar y aquí ponemos el nombre del
archivo, la función es importar módulo, de hecho aquí dicen que el código de visual studio
nos arroja los módulos que se encuentran en la misma carpeta, tiramos la carpeta en
la que estamos, que es el archivo actual incluso también y saludar módulo, en este caso estamos
diciendo que podemos poner esto y no es el módulo hello dot py, así que no sé poner,
solo se pone el nombre del archivo, no la extensión, recuerde que un archivo consta
de dos partes, nombre punto extensión, de hecho es solo uno, solo que cuando se encuentra
un punto algunos programas lo identificarlo e interpretarlo de manera diferente,
en este caso Python solo te pide el nombre, no la extensión, porque ya sabemos qué es el punto
pi, entonces le damos hola módulo, ¿Qué significa esto solo código de
Visual Studio? Es decir, bueno, mira, los voy a leer todos.

Los archivos déjalos ser dot py y te mostraré el nombre, así
que los importas así, y así es como terminamos para importar la función, si yo ahora por ejemplo
tengo la posibilidad de llamarla, esto vamos para acceder como si fuera un método, ok, ¿recuerdas
los métodos que mencionamos anteriormente? ejemplo, agregar punto de lista agregamos un elemento,
algo punto algo era un método, un método es una función aplicada a un objeto, este se
comporta como un objeto, el archivo, el El módulo separado se comporta como un objeto, que
tiene sus propias funciones, por lo que si queremos acceder al método, sería que
la función ya no es una función, saludar pasó de ser una función a ser un método,
así que si ahora, por ejemplo Puse el módulo de saludo, punto de saludo, puedo
venir aquí, esto de hecho lo voy a eliminar, porque esto ya es innecesario, a ver, puedo venir
acá a saludar a lucas, y esto Voy a hacer coincidir algo, voy a saludar igual
a esto, y aquí voy a poner print.

Saludos y si actualizo, si miran dímelo hola lucas
espero que lo hayas pasado genial día, acabo de acceder a una función que
está en otro módulo de este archivo, eso es la magia de los módulos, los van a usar para todo,
porque la mayoría de las cosas que hacen en Python, la mayoría no las creará usted,
la mayoría de las cosas las tiene usar no uno, sino varios módulos,
y esa es la realidad, así como ahora no lo sé imagina crear un programa sin funciones ni bucles,
tampoco desaparecerán mañana imaginar la creación de programas sin otros módulos,
bibliotecas, paquetes o lo que sea, porque La clave de todo es entender que otros crean código
que podemos usar, qué empresas crear sus propias bibliotecas o conjuntos de
códigos, paquetes, etc., para que podamos hagamos códigos mucho más óptimos, incluso
python ya viene con sus propios códigos, lo cual no es todos son importados porque sería un programa innecesariamente
pesado, cada módulo podemos importarlo y usarlo a nuestro gusto, pero
esta es una forma interesante de importar un módulo y tenemos muchos más, pero tiene sus
limitaciones, porque yo, por ejemplo, aquí Siempre tendré un módulo de saludo y tendré
que usar el método, es decir, no puedo accede directamente a la función, fíjate
en que aquí pongo decir hola nombre y listo, Tengo que poner el módulo dot saludar y luego
como método saludar, porque bueno, porque Esto de aquí es un objeto de espacio de nombres.
De hecho, quiero que veas esto.

Le doy a módulo tipo hola y lo actualizo, van
a ver que es esto, le voy a dar un print, ahora si actualizo, y esto me devuelve un módulo, un
módulo de clase, porque el objeto es un objeto módulo, y esto se llama espacio de nombres, cuando
importamos un módulo y en este caso necesitamos hacer referencia a la función,
como método en este caso, estamos trabajando en este caso con namespace, de hecho el nombre lo
dice, namespace, namespace, es como el nombre del módulo, la forma en que
nos vamos a referir a todo lo que está dentro de este módulo es a través de este espacio
de nombres, es el conjunto de todos los métodos, todas las funciones, todo lo definido dentro
de ese módulo, de hecho si buscamos un segundo por aquí, veamos que esto crea algo llamado pycache,
esto lo que hace, ignorarlo, es una carpeta que lo que hace es crearse sola solo para
que el proceso de ejecución sea más rápido, así que ignóralo, le doy
a eliminar, lo ejecuto, se crea de nuevo, verán, ahí se volvió a crear, lo crea automáticamente Python
para sus cosas internas que hacen hacer esto más rápido, entonces
tenemos un operador que se llama así, que es para asignar, así como por ejemplo decimos variable valor
igual, así es como funciona a la inversa, es como si dijimos valor como variable, es algo parecido, pero
funciona en módulos, en lugar de poner variable es igual a tal, esto es al revés, valor como
variable, ni siquiera cerca de lo mismo, pero es una forma de referirse a lo mismo de lo contrario,
en este caso podemos hacerlo aquí utilizar para p.e.

Llame al módulo
de otra manera, aquí podemos decir importar módulo saludar como msaludar, y aquí ya no tenemos que hacer
más referencia al módulo saludar, Le vamos a poner msaludar y si ejecutamos, aquí corre y vuelve
a funcionar, ¿por qué? ¿es esto? y porque esto lo que nos permite
es poder asignarles nombres que conocemos no interferirán con lo que creamos,
porque creo un módulo de saludo y aquí creo una variable llamada módulo
saluda igual hola, si te doy imprime aquí y actualiza, esto me mostrara hola,
pero si no lo tenia asi ya me va esto para lanzar errores completos, pongamos el nombre
completo, hola módulo, actualice, ahora si y me arrojará errores, ¿por qué? por qué acabamos
de trabajar con esto, entonces módulo saluda, aquí lo que nos está permitiendo es
el operador as, asígnale el nombre que quieras vamos a tener ganas, para no preocuparnos,
a ver si no hace falta, hay podemos usarlo así, pero si el módulo
es largo y es tedioso y gigantesco, ¿Qué pasa? podemos nombrarlo como un módulo
pequeño y listo, es una función muy interesante y nos permite ponerle el nombre que nos dan.

Este espacio
de nombres gana, y dejémoslo. Entonces actualizamos y ahí sigue funcionando No hay
problema, ahí lo tenemos, bueno, en realidad si solo queremos importar la función,
porque por ejemplo no nos interesa esto, tenemos una función gruesa pero queremos que la
función se descomponga, ¿por qué? y porqué A veces esto es así, tenemos un gran código,
hermoso, pero no queremos que el código tenga una función gigantesca que va a hacer algo que
no es necesario que esté ahí, queremos que hay un código principal, por ejemplo, tenemos
un programa súper grande, entonces en la primera parte del código hacemos esto,
en otra hacemos esto y en otra hacemos esto, Hay tres grandes procesos, cada proceso tiene
uno, tiene varias funciones en ejecución, Si cada función fuera tan complicada, sería un problema
terrible andar por ahí mirando el código.

Por código y un espagueti enorme, entonces
a veces decimos, mira, la verdad quiero separe y haga esta función en un módulo a
un lado, porque es tan largo que quiero que Tener un módulo específico para que cualquier error
que tenga cualquier cosa pueda solucionarlo. aquí, no hay problema, es más legible, es más
rápido, es más manejable y cuando llamo a ese módulo, quiero importar solo la función,
no al módulo, apesta, solo quiero importar la función, ¿cómo hago? fácil,
usamos, eliminamos esto y usamos el de, ok, desde, saludar módulo, es decir, desde este
archivo, desde módulo hola, quiero importar solo la función, que es saludar, de
hecho, igual, aquí no la tiramos, escribimos oh, nos tira lo que queremos importar, puede ser una
propiedad, puede ser un método, un clase, un objeto, todo lo que tengamos definido
en el módulo, lo podremos importar, Ahora, si le quito esto, funciona, y ahí
tenemos la función de saludo, no necesariamente como método, pero ahora si, podemos
decir que es una función que va desde 10, sin necesidad de andar llamando o haciendo referencia
a ningún espacio de nombres, si queremos agregue más funciones, porque tenemos, por
ejemplo, la función hola y la función hola raro, queondaluquitas, espero que seas nashé,
anashéli, anashéli, condaluca, espero que be nashé, anashéli, anashéli, este
es un saludo extraño, es un saludo extraño, pero los jóvenes lo usan mucho, tengo dos saludos, saludo
y saludo raro, quiero importar el dos, y como importo ambos, una
coma, saluda, coma, saluda raro, y ahora Puedo saludar a Lucas, saludo bien a Lucas,
y a Fran, saludo raro, es lo mismo que saludar.

Raro, fran, luego muestro el saludo, y
abajo muestro el saludo raro, lo ejecuto me dice, eso Hola Lucas, espero que hayas pasado un día maravilloso,
y fran le dice, dile a fran, espero. que eres nashé, anashéli, anashéi, extraño, pero
bueno, lo hicimos, este es bueno útil para trabajar con módulos, de hecho
vamos a comentar todo lo que estamos haciendo, digamos que importar un módulo y nombrarlo
msaludar, entonces puse importar modulo saludar como msgreet, entonces
esto lo dejamos como comentario si quieres usarlo este formulario, y aquí vamos a poner de ese módulo importamos
dos funciones, ahí estamos, creamos las variables con los resultados, mostramos los
resultados, aquí ponemos, buen rato con saludos, y aquí hemos comentado el ejercicio de los primeros
módulos, fascinante por cierto. Esto es genial, pero incluso podemos cambiar el nombre
de las funciones, si las quisiera, por ejemplo, saludar raro tenia otro nombre, puedo poner,
saludar raro como saludar como coscu, por ejemplo, entonces aquí en lugar de decir hola raro
puedo decir hola como coscu, así que ahí le digo que salude como coscu, fran, saluda fran,
espero que esta sea nasha, nashalia, nashayyyy, Me saluda como un coscu, lo mismo que el coscu si es.
Viendo esto no lo creo, pero bueno si es.

Al ver esto te aman, saben que te aman amor,
te amo mucho, no te ofendas, Es claramente un ejemplo y una broma, ya
que te voy a insultar después de dejarme. presentar youtuber del año en el premio ejército
coscu, que es su evento más importante, de hecho si estas viendo este video coscu, eres un gran
influencer, compártelo pa, dale me gusta Más gente aprende junto al mar, ¿ves? abrazo
dale coscu no le hagas el dobolu lo haras a Hazle un favor a mucha gente, si compartes
Esto ayudará a mucha gente. Incluso encontrar alguna razon por
la cual seguir viviendo, aprender a programar pa, bueno de todos modos, de esa manera podemos cambiar el
nombre de las variables, ok, de hecho aquí podemos poner saludar, también podemos cambiar el saludo, saludar
como saludo normal, luego aquí en en lugar de saludar decimos hola normal, importamos
dos funciones y cambiamos el nombre, saluda normal, saluda raro, luego ahí
simplemente hacemos un cambio, y ahí saludamos y todo funciona excelente, luego si
quieres también podemos importar todo, ok, desde el módulo hola importar todo,
importamos todo, de esta manera podemos importar todo y ahí no necesitamos hacer nada, saludamos,
saludamos raro y listo, Que onda Lucas, espero que te haya ido bien.

Y
funciona también, no hay problema, funciona, El tema es que esto es una mala práctica, porque
hace que el programa se sobrecargue, muy pesado y si el módulo es bastante grande hace que
un programa sea innecesario, es decir, innecesariamente pesado, en sí mismo
una mala práctica, de hecho pep8, que es exactamente donde tenemos que acudir para consultar
todas nuestras dudas, que luego que en ese final de curso les voy a hablar de eso
para que sigan aprendiendo, pep8 recomienda no hacer esto, y tiene todo el sentido
del mundo, no hagas esto se logra una mala práctica, de hecho es una de las peores malas
prácticas así que no lo hagas, lo sé Es una pajita ser específico
sobre qué ponerse y qué hacer, pero hazlo, créanme, será un alivio para el resultado en
cuanto a la optimización del código, ok, ahora que pasa si importamos una variable y
una función con el mismo nombre, porque Aquí por ejemplo puedo saludar y saludar
raro, y si ahora tengo por ejemplo un nombre llamado saluda igual jajajaja tu
lo transformaste, que esta pasando, que me va a importar, esto o esto, porque si miras antes pongo saludo
y aquí cuando le dije que me importa importar, saludar, me importa decir hola o saludar, me
pueden importar ambos, pero si de repente Digo me importa saludar, digo saludar es una
variable y no una función, cuando Me importa, quien me va a mostrar, bueno
actualizamos, ah me dice que es una cadena, pero para, y si lo pongo antes no pasa
nada, no se ejecuta, es un error, ahí Lo puse antes, ejecutamos y ahora se ejecuta, pero las
funciones siempre se definen primero, es decir, siempre que definimos una función,
la definimos primero, luego debemos poner aquí, y si lo ponemos aquí y lo guardamos, cuando
lo llamamos desde aquí efectivamente que esta pasando, y lo que pasa
es que ese error no me importa, esta bien Es un chiste de mal gusto, ya lo intenté, como
tú dijo, esto no me importa, no, no me importa.

Esto, pero no estás importando la función, porque
estás importando la variable, entonces Es importante que sepamos separar las variables de las funciones,
así cuando trabajemos con los módulos separemos muy bien las funciones de
las variables, de hecho hay muchos métodos, muchas librerías que nos permiten trabajar
con esto, pero no vamos a trabajar con bibliotecas, pero en este caso normalmente
tienen que saber que existen metodologías, como Por ejemplo, creamos funciones con S mayúscula,
así que nunca así vamos a confundir, y aquí los podemos trabajar por
ejemplo con S mayúscula, y ahí si Los cuido bien, ahí sigue funcionando, corriendo,
no hay problema, hay muchas metodologías. que nos permiten diferenciar cuando es
una función y cuando es un módulo, un por ejemplo es este, que es usar la primera letra
mayúscula para funciones y para las variables empiezan con minúscula, bueno
ahí está, en fin, fue solo un ejemplo, saquemos esto, dejemos todo como estaba, ahí
está, perfecto, bueno, en fin, ahí lo somos, algo interesante es lo que sucede si ingresamos
esto y le damos el espacio de nombres dir, en este caso es un módulo sano, aquí deberíamos
darle, saca esto, de hecho lo vamos a comentar de momento, y el de arriba lo vamos a descomentar,
y le vamos a poner msaludar, a ver que es lo que nos arroja aquí, si imprimo dir msgreet,
cuando actualizo este código, muéstrame esto, que es esto, bueno recuerda
que dir me tira todas las propiedades y métodos que tiene, y aquí solo me dice, che mira, tienes
una función que se llama saludar, y una función que me llama saluda raro, si pongo
una variable aquí, por ejemplo, Saludos igual jaja cuando actualizo esto
actualizo y me dice tienes que saludar, saludar extraño y ahora tienes saludo, saludo es una variable, decir
hola raro es una función y decir hola es una función, nos arroja todas las cosas que
definimos, aquí mismo, todo lo que está aquí es parte del objeto, todo lo que hay aquí
es lo que creamos, es decir, todo interesante que también es bueno que sepan, de
hecho aquí voy a agregar, para ver el propiedades y métodos del espacio de nombres, y comento esto obviamente,
y comento todas las cosas malas, fuertes fue, y estoy comentando esto, fue muy fuerte, actualizamos y todo
esta como antes, una pregunta interesante es, ¿qué pasa si vamos a volver a importarlo? El módulo
de importación dice hola como msgreet, vamos.

Para volver a importarlo aquí abajo, lo importamos dos
veces, saludamos, pero ¿qué pasa si por Por ejemplo, muestro msaludar.name, lo que me funciona para
mostrar aquí es el módulo de saludo, que es este es el módulo que estamos importando, o
sea, lo que esto me muestra es exactamente el módulo que importamos, este es el nombre,
si queremos acceder al nombre del módulo, aquí importamos, usamos esto, de hecho
si yo, por ejemplo, vengo aquí y pongo cambio de nombre, cuando actualizo, aquí estoy dice
que es falso, por qué, por qué no podemos igualalo, si le doy un solo igual, tampoco me dejes
cambiar, no es una propiedad para ser Puedo cambiar, pero nada, es bueno saber
que puedes mostrarnos esto, de hecho. si vamos aquí y mostramos el nombre impreso, actualizamos,
nos mostrará principal, por qué, por qué dice que este es el módulo principal, y si vinimos
aquí y mostramos nombre, aquí también nos dirá main, porque main se refiere a que
el módulo principal, es decir, el módulo lo que se está ejecutando es esto, es bueno,
es interesante ver qué pasa con esto, estamos de acuerdo al nombre de este módulo, y aquí ponemos,
accedemos al nombre del módulo llamado, es bueno esto, porque una vez que cambiamos el nombre, una
vez que cambiamos el nombre del archivo, lo mismo podemos acceder al nombre, que bueno esto,
podemos tenerlo como variable, ahora Veamos la sección de enrutamiento, para
eso todo bien con esto, pero ahora tenemos para ver el enrutamiento, es decir, ¿cómo podemos
desde un archivo llamar bien a otro, como podemos movernos entre carpetas, ya que podemos agregarlo
a una ruta con todos los archivos, ¿Cómo podemos ver dónde están todos los módulos?
que ya existen en Python, y ver las cositas es más, es importante porque los vamos a utilizar
bastante, de hecho gracias a eso vamos a poder utilizar todos los módulos, así que vayamos
con eso.

Bien, ahora pasemos al tema del rendimiento.
módulos, es básicamente lo mismo, pero es sobre como moverse, ¿no?, a la hora de llamar
módulos, ¿por qué? ¿Qué pasa si yo, por ejemplo, en lugar
de tener esta carpeta, no?, módulos y el módulo de archivo saludo, la misma carpeta,
tenía otra carpeta que ya… Buenas características, ahí está, mejores características,
buenas, y las ponemos ahí, ¿qué ¿Qué pasa ahora?, ¿cómo lo llamo? Y si ahora ejecuto el mismo programa que
antes, me sale un error porque no lo encuentro, bueno esto es fácil, la forma de llamarlo
es, recuerden que el nombre me va a tirar aquí de lo que encuentres, Entonces ahí ponemos, buenas funciones, punto,
módulo de saludo, y de esta manera acabamos de Recorrido, está bien, lo actualizamos y es funcional, ¿por
qué? Porque lo que hicimos fue acceder a esta carpeta, y dentro de esta carpeta, buscó como si estuviera allí
mismo y encontró este archivo, así que Importa, esa es la forma en la que deberíamos acceder,
si tuviéramos que acceder a un módulo dentro de una carpeta.

Ok, ahora vamos a borrar esto y vamos a crear un
nuevo archivo, de hecho, módulo saluda, lo vamos a dejar, y aqui en funciona bien,
el modulo que esta aqui saludamos, lo vamos a pasar a módulos, movemos,
ahí va, eliminamos esta carpeta, y ahí tenemos el módulo de saludo. Copiamos el módulo de saludo, lo pegamos aquí dentro,
solo que ahora le vamos a cambiar el nombre y vamos a saludar, solo saludar, así podemos
diferenciar el módulo de saludo, saludar, Son ambos módulos, solo que uno no tiene el módulo
delante, así que podemos separarlo. y hacer algo aparte, donde, y en otro archivo
que es, módulos 2.0, o 2.0.py, ahí va, Entonces aquí vamos a hacer lo mismo, desde, o más
fácilmente, importar módulos, más bien, buenas funciones, punto, modulo saludar,
o en este caso saludar, porque ya no se llama más módulo saluda, el archivo se llama para
saludar, Bueno, ahora venimos aquí y le ponemos print, para
mostrárnoslo directamente, saludar a Lucas, a ver que nos depara esto, ahora a ver
que onda con esto, entramos a greet.py, no está trabajando, por qué no funciona y por qué lo está, lo estábamos
usando como un espacio de nombres, así ¿Qué sería saludar? saluda, ahora si, actualizamos, ah,
no funciona, por que no funciona, y por que Ahora es un buen espectáculo.

Saluda. Ahora se ejecuta correctamente, mira, exactamente,
así de correcto es y por qué nos devuelve este nombre, y devuelve ese nombre, porque
aquí les decimos que nos muestra el nombre, es genial nos muestra el nombre de este archivo
main, module 2.0.py, y nos muestra el nombre del espacio de nombres es espectacular, porque
no estamos aquí, si ejecuto esto aquí, me muestra principal, pero si lo ejecuto aquí me muestra esto, y lo que
se está ejecutando es esto, es lo que Lo mismo, solo ejecuta diferentes
contextos, en este contexto nos devuelve que, Es algo interesante a tener en cuenta.

Así que pongámosle un nombre, pongamos
esto, como, no, ni siquiera vamos a hacerlo, Dejémoslo así para que se entienda, no, hagámoslo
bien, como saludar, m, saludar, lo mismo, saludar, ahora ponemos m, subrayado, saludamos, y ahora
si tenemos lo mismo, y funciona de 10, ahora, ¿Qué pasa si, por ejemplo, en lugar de estar dentro
de una carpeta, esta carpeta estuviera por ejemplo afuera, si, lo movemos, y ya esta aqui la funcion,
buenas funciones, que paso, bueno vamos para intentar acceder, funciona bien, punto saludar,
ups, no puedo encontrar el módulo, ups, Que hago ahora, hay una carpeta detrás, Bueno, lo que tenemos que hacer ahora
es importar sys, ok, en realidad vamos a hacer uno.

Cosa, comentemos, si el módulo estuviera
en una carpeta en la misma ruta, se importa así, ok, se importa así, pero como está atrás, en
una función afuera, lo que tenemos lo que hay que hacer es hacer esto, importar sys, sys es un
módulo de Python, Así que ahora voy a borrar esto y ¿qué
pasa si, por ejemplo, ahora le doy, imprimo? sys, actualice, veamos qué nos arroja. Me dice
sys, es un módulo integrado, lo que significa esto, que es un módulo construido en python,
que es lo que les decía, un módulo construir, construir es construir, construir es construir,
creo que una vez dije construir, construir es construir, y construir en está integrado,
como si eso ya estuviera integrado, de hecho hay una propiedad, Recordemos que accedemos a las funciones Entonces,
y las propiedades como esta, luego ponemos puntos,
incorporados, nombres de módulos, aquí tira la propiedad, y esto vamos a ver que es lo que
nos tira, esto lo que nos devuelve Es precisamente una tupla, con todos los valores de
las propiedades, y recuerdan que antes nos devolvía algo parecía decir,
bueno ahora lo que nos trae de vuelta son todos los nombres de todos los módulos,
que están en sys, tenemos el módulo nt, tenemos el módulo sys, tenemos el módulo
time, tenemos el módulo zlib, tenemos el módulo de audio, ven si subo las escaleras
y ahora vomito esto, tenemos mucho de módulos, que son todos estos que están
aquí, functools por ejemplo, que es muy utilizado, operador que es ampliamente utilizado, winreg para acceder a los
registros de Windows, matriz que es para trabajar con arrays, luego veremos
el curso oficial de inteligencia, vamos a usa esto que esta aqui este modulo, aquí tenemos los módulos, los módulos clásicos
de python, de hecho están creados en C, interesante esos datos, esto es bueno porque puedes crear módulos
que no coincidan con estos que están aquí, porque si creas un módulo, y el módulo que
crees que ya existe y está aquí dentro, por ejemplo, su módulo es time.py, que aquí importa
el tiempo, esto no importará su archivo, importará el módulo
nativo de Python, el módulo integrado, por eso es importante que sepan que Python da prioridad
primero a los módulos que son nativos.

Ahora ¿cómo sabemos dónde se alojan los módulos?
Bueno, aquí decimos sys.path, path tiene exactamente la ruta, así que aquí
lo que estamos viendo es una lista con los ruta del módulo, la primera ruta que nos devuelve es la ruta actual,
estamos aquí, si miras estamos en la unidad C, usuarios, Rainbow 6, ese es
el nombre de un juego con el que creé esto. Nombre de usuario, escritorio que es el escritorio, y en el escritorio tenemos
una carpeta llamada curso de python alto, es así, efectivamente éste está aquí,
y otra carpeta que se llama módulos, así es, esta
de aquí, y ahí mismo estábamos alojado y llamando al programa de ahora en adelante,
es cierto, así funciona, exactamente, es la ruta actual, en este aquí están los módulos instalados
en python, ok, fácil, y si no queremos agregarlo aquí, es decir, si queremos
poder importarlo, y nuestra ruta no está ahí actual, tenemos que agregarlo aquí, y si no, podemos agregarlo de otra manera, supongamos
que tenemos el módulo aquí, ¿no? recuerda que tenemos buenas funciones, bueno
como lo agregamos? simple, en este caso tenemos la ruta, la ruta es esta, bueno,
tenemos una ruta de regreso, bueno, voy para copiar aquí arriba, y voy a venir aquí
y poner un punto, en este caso lo voy a sacar, De hecho, voy a venir aquí y poner sys.path.append,
y aquí voy a poner la ruta que copié, sólo que ahora ya no está en módulos, son buenas
funciones, y aquí estoy básicamente accediendo a esta
carpeta, y ahora sí, eso es todo, eso es lo que usted mismo, recuerde que estamos aquí, en el camino
actual, y buenas funciones, Esto que está aquí es la ruta donde aloja
el archivo greet.py, así que ahora Si actualizo esto verán lo que me muestra, ok, el
código, ahí estoy actualizando, Verán que me está mostrando el código, al final
está la ruta donde agregamos el último módulo instalado, es decir, primer camino, nuestra
ruta, todas las demás rutas son módulos instalados,
acabo de instalar este módulo, que será válido solo para esta sesión, si queremos un
módulo permanente, lo instalamos de otra manera, con python.path, por
eso es otra cosa, así que ahora si queremos importar la ruta anterior, simplemente decimos
saludar, Así que si yo, incluso si no los tiro, y digo que
es un error, no es un error, sí.

Ahora por ejemplo pongo print greet.greet,
digo saludar a Dalto, dime el código, hola Dalto, espero que tengas
un día maravilloso, en realidad aquí Puedo poner el módulo de saludo, y aquí pongo lo
mismo, módulo de saludo, ya esta listo y me funciona, funciona igual que cualquier
otro modulo, cual es el ¿llave? esto es, che, mira, la verdad que
no está en mi camino, a ese no puedo acceder ruta, ¿Entonces, qué hago? y agrego esa ruta aquí, y una
vez que la agregué, ahora puedo importar el modulo, normalmente, es bueno
dejarlos jugar, creer en sus cosas, Si llegaste a este punto, cree en tus cosas, crea
tus módulos, prueba un poco, no continúes. el curso, si no, lo harás tu solo, ¿vale?
por su cuenta, cree un par de módulos, cree, por ejemplo,
algún módulo que tenga algunos calculadora y un módulo que es para funciones matemáticas,
otro modulo que es para saludar, y otro modulo
que es para otra cosa, y unificarlo todo en un programa que te permita
hacer cálculos, que te permita saludar, y varias cosas más, para practicar, digamos, para mover
y manejar la lógica, para que cuando tenemos que hacer prácticas
reales, que al final del curso lo vamos a hacer, entender cómo hacerlo, porque si no no entenderán el tema de las prioridades,
que si importan cosas con el mismo nombre, cuáles son los
grados de la jerarquía, que se darán cuenta también probándolo,
porque por eso os lo explico, pero Lo olvidarán a menos que lo intenten, ¿vale? todo lo que hacemos, ya os lo dije, tomadlo en la práctica,
todo esto tiene que llevar a practicar, y esta es básicamente la
visión muy rápida de lo que han sido los módulos, porque no hicimos ejercicios con módulos, sí
los haremos después, pero Esto es para que te des una idea de cómo importarlos,
¿verdad? cómo llamarlos, cómo usar el operador AS, cómo
agregar, digamos, otros módulos que no están en nuestra misma ruta, y así sucesivamente.

Ahora vamos con otro apartado importante que es
el de los paquetes, ¿vale? Tenemos que ver cuáles son los paquetes, tenemos
que entender qué son los módulos y qué son paquetes, porque un módulo es solo un archivo
Python, un paquete son muchos archivos pitón, entonces veamos como son este tema
los paquetes, comencemos, y ahora si, Vamos, no perdamos el tiempo, empecemos por los paquetes.
Bien, ahora supongamos que yo, aquí
de módulos, voy a crear otra carpeta que va a ser un paquete Y el paquete también tendrá el módulo de bienvenida. Voy a copiar y dentro del paquete voy a poner la
función greet.

Y le voy a poner otra funcion que dice hola copiar
Pero saludar va a tener una función, los voy a
hacer módulos diferentes Saludar va a tener esta función que está aquí,
la común Y el otro va a saludar raro ahí va
Y voy a cambiar el nombre para que sea
saludar raro Allí tengo dos módulos diferentes en una misma
carpeta. Voy a poner esta carpeta aquí, allí ya
está, la meto dentro. Entendí todo bien, creemos un nuevo archivo
llamado paquete.py Supongamos que de repente quiero importar
un paquete. ¿Qué es un paquete? Un paquete es una carpeta con
muchos archivos de Python. Simple, muchos módulos, una carpeta con varios módulos.
¿Cuál es la diferencia? No es lo mismo un solo
módulo que un archivo Que importar muchos módulos juntos, porque
a veces no tenemos uno, tenemos muchos módulos que importar Porque los módulos no tienen que hacer muchas
cosas, ¿vale? Un módulo a veces tiene que cumplir una función específica
Por eso es un módulo, es parte del programa que realiza
una acción específica.

Cuando tenemos un programa bien hecho, tenemos muchos
módulos Entonces, si queremos importar todos esos
módulos juntos y no hacerlo uno por uno uno Importamos el paquete que a todos nos importa los
módulos. Pueden ser 10, 20, 30 y lo hacemos en una sola
línea de código. ¿Cómo lo importamos? Ok primero la clave
para diferenciar un paquete Python Entiende que es un paquete si este tiene un archivo
llamado __init__.py ¿Por qué creamos este archivo? No tiene por
qué tener nada, ya está, lo cerramos.

Es un archivo que Python dice, a ver, ¿es un paquete
o un módulo? Ok, si es una carpeta y tienes un archivo, entonces
es un paquete. Si venimos aquí a package.py e importamos
el paquete Si ahora venimos aquí y le damos un paquete
tipo impresión. Para ver que tipo de dato es nos dice que es un
módulo Pero a pesar de ser un módulo, esto es lo mismo,
es un paquete. Debido a que un paquete sigue siendo un módulo,
se considera un módulo. Pero en teoría es un paquete. Si, por ejemplo, utilizo la función, lo siento, el archivo
de inicio dot py la eliminará Actualizo esto y funciona y nos dice que sigue siendo
un módulo. ¿Cuál es la diferencia? Es un problema de enrutamiento. equitativamente
Aquí el problema es que Python busca
esto entre, digamos Para buscar los archivos y subdirectorio
si ponemos aquí por ejemplo Punto ruta, usamos esta propiedad y le
damos ahí, vamos a ver que no me deja acceder atribuir Ahora, si devuelvo el atributo py, ahí está
y ejecuto este programa.

Ahora me lo devuelves, ¿por qué devolvérmelo? Como ahora tiene este atributo, ahora Python
entiende que es un paquete. Entonces actualizo y ahora noto que
devuelve la ruta del paquete. Me trata como un paquete, repito, borro esto, actualizo
y tiro una excepción. Lo vuelvo a poner, esto es con control z, con
control z deshago el último cambio Así que vuelvo aquí, actualizo y tiro
a la lista solo con el paquete. Esto es igual, tiene que ver con un tema que
me pueden ayudar a buscarlo dentro del archivo como tal Entonces, si ahora quisiera acceder a un
módulo, puedo simplemente venir y decir punto decir hola Y aquí digo por ejemplo muéstrame el punto del
paquete saluda Y aquí digo dalto, entonces esto que muestro,
funciona y está funcionando.

Solo que ahora lo estamos haciendo a través
de un paquete. Accedemos al paquete y desde el paquete accedemos a
funcionar Esto es casi como acceder a un archivo dentro de
una carpeta. Recién ahora les decimos que no estamos
accediendo al archivo Estamos accediendo al paquete en su totalidad Dado que el paquete acaba de agregarse a la
ruta donde podemos encontrar el resto archivos Bueno, en fin, ahí lo tenemos, ahí estábamos viendo
las diferencias. Luego tenemos los subpaquetes, que son como
paquetes dentro de paquetes, no es así complicado Cuando importamos un paquete y está dentro
de otro paquete, se considera un subpaquete ¿Qué pasa si llamamos a un archivo que tiene
el mismo nombre que un paquete? Es decir, si por ejemplo tengo la carpeta
paquete y tengo otro archivo llamado paquete ¿A quién le darás prioridad? Y a la carpeta siempre
le da prioridad a la carpeta.

Si queremos importar un subpaquete, es lo mismo,
hacemos exactamente lo mismo. Por ejemplo, tomamos un paquete y creamos
otra carpeta aquí. Y aquí simplemente ponemos paquete.subcarpeta Y la subcarpeta tendría que tener init.py Entonces si ponemos subcarpeta, ahora
estaríamos importando la subcarpeta del paquete. Que a su vez es un subpaquete del paquete. Sería un subpaquete sólo si es un paquete.
Es decir, si el paquete fuera una carpeta, es decir,
si no tuviera el init.py Simplemente estamos accediendo a la carpeta
paquete a subcarpeta paquete Pero no habría un subpaquete, es decir, un subpaquete
es un paquete dentro de otro paquete No es un paquete dentro de una carpeta Para ser considerado un paquete, debe tener
el init.py Entonces, si hay una carpeta que tiene init.py
dentro de otra carpeta que también tiene el init.py Allí tenemos un subpaquete y un paquete.

Entonces nada, son cuestiones conceptuales, entonces
ahí tenemos la idea como tal. Ya tienen la idea y la noción, que es lo
importante. Y ya saben cómo crear paquetes, crear subpaquetes, acceder a
los diferentes paquetes, crear módulos, módulos de acceso y todo lo que necesitas Así que ahora estamos listos para pasar a una
sección de esta misma sección. ¿Qué es acceder a los archivos? Porque ahora que sabemos cómo acceder a los paquetes, acceder
a los módulos, etc. Existen algunos módulos que nos permiten trabajar con
archivos. ¿Y qué si te invito a que accedamos
a un módulo que nos permite abrir archivos? O mejor dicho, ¿tendremos que acceder a módulos para
abrir archivos? Bueno, veamos cómo leer un archivo simple. TXT, vamos con archivos TXT a ver como podemos
manipular un poco con Python ¿Cuál es una de las cosas más comunes? Amo esta parte. ¡Vamos! Bueno, ahora estamos con un apartado que
es importante, ya que vamos a entender bien cómo el tema de la lectura de archivos funciona,
el tema de la escritura de archivos y cómo poder manipularlos con Python.

Sí, es decir, vamos a usar todo lo que aprendamos
para aprender algo nuevo. y darle una utilidad para que cuando más en
el futuro tengamos que implementarlos en algún proyectos podemos hacerlo. Porque es lo más común que hay, leer archivos,
escribir en ellos y saber manipularlos es una de las cosas más importantes en cualquier lenguaje
de programación. Dado que los archivos normalmente se crean, se leen
y manipulan en cualquier programa que normalmente Creemos que tiene una funcionalidad intermedia avanzada.
Así que ahora vamos con lo básico para entender
primero qué es un archivo, cómo crearlos y cómo manipularlos con Python.

Ok, bueno, para empezar un archivo es lo que
todos conocemos y es simplemente un contenedor de información. Porque muchos pueden tener la idea de qué
es un archivo, pero no lo saben bien ¿Qué es un archivo? Y es que, es un contenedor de información. También
tienen un formato. El formato es como en un lenguaje de programación un
tipo de datos, así como tenemos cadenas, enteros, matrices, etc. Directamente en los archivos tienen su propio tipo de
datos, si por ejemplo.png es un formato de imagen, si .wav es un formato de
audio.

Si es así, digamos que mp4 es un formato de audio y video.
Por lo tanto, los archivos deben comprender
cuáles están compuestos según el nombre de dos piezas, nombre y formato. Si por ejemplo tenemos un archivo Excel, tenemos un archivo
que contiene hojas de cálculo, tenemos un solo archivo que puede contener
vídeo, imagen y todo lo que estamos viendo. Entonces, en este caso vamos a aprender a manipular dos
tipos de archivos. El primero es.txt y el segundo es.csv..txt es un
archivo de texto plano, muy sencillo. Bueno, para acelerar aquí he creado una carpeta
llamada archivos y un archivo llamado.read.txt.py. Bien, ahora comencemos a escribir código
k. Primero vamos a ir al blog de notas, el famoso blog
de notas, y vamos a escribir dos líneas. La primera línea es, si te está funcionando
el material activa la campana, que campana. No te des caprichos maestro, no preguntes. Y en la segunda línea de código vamos a Poner
abogado, que abogado, no preguntes, no dones, otra vez.

Y vamos a guardar esto en la misma ruta, en la misma
carpeta de archivos, texto dalto.txt. Y de esta manera lo vamos guardando y aquí
nos puede aparecer en la ruta. Lo que tenemos que hacer para empezar es
darle a la función open, no darle literalmente a la función abierta, pero digamos escribirla. Y aquí vamos a poner el nombre del archivo, en
este caso es texto de dalto.txt.

Pero si ejecuto esto y actualizamos,
si mira, en mi caso me arroja un error. y esto tiene que ver con un tema de rutas, de enrutamiento.
Lo que tienes que hacer es ponerle el nombre de
la carpeta, en este caso la carpeta contenedora archivos, luego te doy archivos. Ponemos dos barras, ¿cómo se hacen las dos
barras? No me preguntes, copio y pego. Es la barra invertida, hay caracteres para
ponerlo igual si tienen un teclado común, porque entonces tener un cruce avanzado de Python
pondrá mínimamente el listón invertido. Aquí tenemos esto, si lo ejecutamos ahora, si lo
arreglamos no nos arroja ninguna excepción. Ahora, este archivo lo tenemos que ecualizar
a algo, porque si ya está ahí lo abrimos, pero ¿Qué vamos a hacer con el expediente, flaquita? Tenemos que hacer algo una vez que lo abrimos.
qué hacemos? Te damos archivo, igual y lo que acabamos de escribir De esta manera estamos haciendo que todo el archivo
ya sea igual a esta variable, por lo que Ahora vamos a mostrarlo en la pantalla.

Archivo, actualizamos y bueno, aquí nos muestra a todos
algún código raro, eso es porque teníamos abre el archivo. Pero no lo leímos para poder trabajar con el archivo
y el material que contiene. tenemos que leerlo. ¿Cómo lo leemos? Con la función leer le ponemos punto,
lee y aquí lo que hacemos es actualizar y uno dice si estas sirviendo el material activa
la campana. Repito, no pregunten y luego uno dice abogado, ¿qué
abogado? No preguntes. Entonces ahí está y tenemos el archivo
y lo estamos leyendo, ahora si nos miras tira esto aquí. ¿Por qué nos tira esta A tan rara que hay aquí? Ok,
por un problema de codificación. Tenemos que configurar la codificación UTF-8,
que es una codificación universal que dice Todos los personajes.

Entonces, si están en otro sistema operativo o
usan otro tipo de codificación, pueden no recibas el error. Pero si pierdes la forma de solucionarlo, es
aquí donde agregamos la codificación, lo mismo allí. nos atrae, eso sí. UTF-8, así que ya lo actualizamos. Ahora sí, fíjate
que no tenemos ningún problema. ¿Por qué? porque tenemos el código
Es hermoso, que en HTML te recuerda si vieron el cursito, y si no lo vieron
lo van a ver, lo van a poner posi y lo verán. Lo que estábamos viendo es que cuando nos
equivocábamos a veces, que nos echaban, no nos Tampoco quitaron las comas ni los acentos, Realmente no siento los acentos, los acentos
no los tomé.

Entonces, ¿qué estábamos haciendo? Usamos
la etiqueta metachase UTF-8 y con eso hicimos todo convertirse a esa codificación que era,
digamos, universal. Muy bien, ahora que tenemos esto,
bueno, no hay problema, abrimos esto. archivo con codificación UTF-8 y estamos
leyendo. Ahora, esto lo podemos equiparar a una variable,
es decir, puedo decir archivo sin leer, es esto, y debajo puedo decir mismo archivo no leído
archivo punto leído.

Ahora bien, si el archivo no está leído, el punto
leído es el archivo, estamos haciendo lo correcto porque Estamos diciendo el archivo no leído ahora
lo estamos leyendo. Entonces ahora tenemos que poner un archivo,
no un archivo no leído. Ahora imprimimos, archivamos y terminamos de
mostrar solo esto, el mismo código. que antes. Ok, es lo mismo pero más barato. Otra cosa es que si presionas alt más shift,
ok, ahí ves que cambio el idioma enter, están cambiando el idioma del teclado. Entonces ahora, por ejemplo, vengo aquí
y hago algunas cositas, ok, como que paran Funciona o no funciona, eso se debe al idioma
del teclado. Ok, recuerdo lo que me pasó al principio que les
mostré que teníamos otros personajes. de los que no son el teclado, al menos desde
aquí en latinoamérica, eso es porque el idioma cambia y cuando cambia
el idioma cambian los caracteres Entonces, por ejemplo, presiono la tecla
las teclas, me tiro esto, las teclas comunes. Pero si presiono alt y shift, ok, cuando
ahora presiono el mismo signo, ya no aparece y me aparece algo más que nada, que es como una especie
de apóstrofe.

Entonces es importante que si eso les sucede, presione
Alt más Mayús y ahí los tiene de vuelta. Teclas funcionando correctamente para no tener
que andar haciendo la embola. Y ahora, por ejemplo, el acento me funciona bien. Luego les hice hacer dos líneas de
código aquí, si prestan atención, de código, dos líneas en realidad de texto, debido a que estoy interesado en trabajar con líneas
individuales. ¿Cómo hacemos para leer una línea específica? Bueno, aquí podemos decir por ejemplo archivo, o
mejor dicho, línea1 es igual a archivo.readlines y esto es lo que me va a regresar, si prestan atención usémoslo
en archivo no leído, archivo sin leer.

Readlines lo que me devolverá es una matriz con todas
las líneas Vamos a mostrarle lo que dice la línea1, de hecho
son líneas, no línea1. La línea 1 sería si ponemos aquí readline, ok,
si pongo aquí, por ejemplo, readline y Yo digo muéstrame la línea 1, si actualizo esto, me muestra lo que está mal al mostrarme
la primera línea que en este El caso no tiene nada. Si ahora, por ejemplo, le digo que me muestre readlines,
¿qué me mostrará en line1? es una matriz vacía. ¿Por qué es esto? Ah, no es porque la línea1
no tenga nada, es porque una vez que el archivo leer ya no se puede leer.

¿Por qué? ¿Por qué no lo cerramos? Cuando se lee un archivo, si queremos volver
a leerlo tenemos que cerrarlo, si no está ya el Se utilizó el proceso para el que lo estamos usando.
Entonces, una vez que lo lees, no puedes volver atrás.
para leer, por razones de seguridad del archivo. Entonces lo que debemos hacer es directamente,
en este caso poner esta línea, vamos a comentario, lee el archivo completo y vamos a comentar la línea y
hacia abajo digamos leer línea por línea, y en este caso leemos linea por linea con esto
que esta aqui, que son lineas iguales a archivos y leer líneas de lectura.

Si miras ahora pongo líneas y cuando ejecuto
el programa, líneas, líneas, y cuando se ejecuta el programa si notas esto me devuelve
una lista, una lista con esto y eso. ¿Qué es esto aquí? esta barra N,
barra invertida N, es la forma que tenemos interpretar un espacio en un texto plano en
línea. Si los agrego a cualquier carácter de texto
sin formato, que es la barra invertida y el No, Os contamos que vamos a dejar un espacio online.
De hecho cuando tengamos que escribir sobre
un archivo veremos que esta es la forma en el que podremos dejar un espacio online. Podemos escribir mucho pero el espacio
online solo lo deja este personaje. De hecho si queremos leer una sola línea podemos hacerlo
de la siguiente manera.

Lee una sola línea, ok, aquí lo vamos a poner,
esto lo vamos a comentar, y aquí lo vamos a decir línea archivos iguales y punto de lectura línea de lectura,
sin líneas, línea. Y ahora vamos a mostrarlo, print line line, Es cierto
que estamos en un curso en español. Y aquí solo leo el primero, si este sigue
el material activa la campanita. Si pongo dos aquí dice que sí, sí le digo
que me muestre uno que me está mostrando. el. A ver si adivinan que tiene de malo que muestre,
si le pongo diez me lo muestra muchas más letras ¿Por qué? Porque lo que hacemos con la
línea de lectura es que si no lee toda la línea, lee el número de caracteres que te dijimos. Si pongo cien aquí, esto me lee el límite de
caracteres de cantidad y me sobran cien. Cien caracteres que me están leyendo en línea de lectura.
Lo que recomiendo es si quieres leer la primera
letra, hecho, genial.

Si quieres leer la primera letra o las primeras letras y
así sucesivamente, joya. Si no, usa la línea de lectura completa y listo, ahí lo tenemos.
Esto de leer líneas es interesante, ¿por qué? ¿Qué
es interesante? Porque antes de lo que hicimos era usar esto, que es usar para. Y lo que hicimos con el for fue leer esto
en varios giros del bucle. Usamos la función rstrip y con eso, con esa función
lo que hicimos fue poner esto en un bucle for y con la función rstrip podríamos leer
línea por línea. Ahora podemos hacerlo directamente con líneas de lectura.
El único problema con las líneas de lectura es
que para archivos grandes se pueden consumir. toda la memoria de nuestro ordenador y
puedes quedarte sin RAM, básicamente sin memoria. Por eso es importante que sepamos utilizarlo
con conciencia y por ahora nos vamos a quedar con esta solución. Como entendemos que no son archivos de texto muy grandes,
podemos usarlo, pero cuando son archivos muy grandes tenemos que trabajar
con otros procesos.

Pero es importante que sepan lo que están haciendo.
Siempre hay que pensar bien qué es lo que queremos
hacer y cuándo lo entendemos, Si ya lo tenemos planteado, busque la mejor
manera en el código de hacerlo. Es fácil. Una vez que abrimos el archivo y que ya terminamos
de usarlo, tenemos que cerrarlo. con cierre. Cierra el archivo y aquí lo que hacemos es decir
por ejemplo archivo no leído punto cerca. No diría archivo no leído, pero en
este caso ahora vamos a archivar. Ahí está, más fácil. Y ahora es un archivo no leído, lo cerramos y lo usamos. Lo actualizamos y lo sentimos, archivo no leído no,
archivo. Actualizamos y ahora si, ejecutamos el
programa y nos dice que ahora pues no nos dice nada, pero esto se cerró correctamente.

De hecho, ahora podemos leerlo nuevamente y le
damos un punto de lectura del archivo de impresión y esto ¿Leernos el código otra vez? No, porque una vez que lo cerramos, el
archivo se cierra y si queremos leerlo tenemos que utilizar la función de apertura nuevamente. Esto es interesante, pero podemos almacenar
la información que ya teníamos y usarla. como queremos. En este caso usamos esta función de lectura
de una sola línea y ya tenemos aquí la primera línea del archivo, leído sin problema. Es importante cerrarlo, de lo contrario el programa puede
perder datos al cerrarse inesperadamente. Muchos archivos simplemente no almacenan la información
hasta que el programa no se cierra. Además, es importante cerrarlo porque a veces el sistema
operativo limita el archivo en sí. limita el número de veces que se puede abrir
el mismo archivo. Es decir, por ejemplo, quiero abrir un archivo
y a veces puedo abrir ese archivo con un programa. pero no con otros.

En otras palabras, limita la cantidad de veces que los
mismos programas pueden abrir un archivo. No les pasa que a veces tienen un programa o algún
vídeo o algo abierto y les dice… Primero cierra el programa que estás utilizando
porque si no no se puede abrir. Esto se debe a que está abriendo y trabajando con
el archivo. Una vez que se cierra el archivo, ya se puede
volver a leer. Si no lo cerramos, no podremos abrirlo desde otros
lugares. Incluso algunos archivos sólo
pueden abrirse con un programa a la vez.

Además de eso, finalmente, cuando cerramos
el archivo, liberamos los recursos que nuestro computadora que está utilizando para procesar este
archivo. ¿Cómo resolvemos este problema? ¿Qué solución nos trae Python para evitar cerrar
el archivo cada cierto tiempo, perder todo esto? Bueno, la solución que nos trae Python es una
solución interesante que es… Con Abierto. Ahora a ver, esto lo vamos
a dejar así y vamos a abrir otro archivo. nuevo. Un nuevo archivo que será LerTXTOptimamente.py. Y digo óptimamente porque CONOpen es la solución
y como leer ahora que estamos usando cuando lo hacemos de forma
nativa sin bibliotecas, que es WIthOpen. Ahora vamos a ver por qué. Es decir, para, por ejemplo, CSV es bueno
usar bibliotecas como pandas, pero para TXT no es necesario. Puedo hacerlo de forma nativa así y es
muy agradable. Entonces el formulario es, en lugar de WithOpen,
le damos WIthOpen y aquí le ponemos el nombre del archivo. Por ejemplo, LerTXT.py, que es el nombre del archivo
original. Y vamos a poner las dos barras invertidas, archivo,
barras invertidas, LerTXT. Entonces ahí le damos dos puntos y vamos
a ver qué pasa aquí.

Pongamos print, hola y el hola se va a ejecutar
solo si se logra el archivo. abrir correctamente. Lo siento, no es LerTXT.py, no es esto. Texto de Dalto punto, si cierro esto, Chivos, barra
barra. A ver qué pasa. Ahí está, está funcionando. Ahora si, saluda. Perfecto. Allí me devolvió el saludo. Esto significa que el archivo se abrió,
ejecutó el código en este bloque y salió. El archivo ya ha sido abierto y cerrado una vez finalizadas
las instrucciones. Esta es la forma óptima de abrir un archivo. Si no, no tenemos por qué andar olvidándonos de cerrarlo y
demás. Recuerda que cada vez que abrimos un archivo, este
se abre con modo lectura. Es decir, leer. La lectura viene por defecto porque lo que estamos
haciendo es leerla. Estamos leyendo el archivo, por lo que no estamos escribiendo.
Para usarlo tenemos que usar el as, no el
culo. Pero la palabra como para referirse
a que le vamos a cambiar el nombre. En este caso vamos a decir como, archivo, por
ejemplo. Entonces de esta manera, porque antes de que me dijeran
che d'alto, antes tenías un expediente.

¿Cómo asigno la misma variable? Lo mismo. Te damos as, archivo. Hay. Entonces si ahora decimos imprimir, archivo
y actualizamos y ejecutamos el programa, nos arroja este. ¿Recuerdas lo que teníamos que hacer? Le damos lectura. Así que ahora sí, si te está sirviendo
el material activa la campanita. ¿Abogado a qué abogado? Usamos lo mismo aquí. Le damos codificación, utf8. Hay. Actualizamos y tenemos lo mismo que antes, Pero
mejor.

Ahora podemos decir que es lo mismo, pero más
barato. Lo mismo, pero más barato. Lo mismo es literalmente más barato porque consume
menos recursos, es más rápido, es más óptimo. Entonces de 10. Y también es más rápido. En otras palabras, en código es menor. aviso. Podemos hacer todo lo que hicimos aquí,
aquí. Además, esto se abrirá y traerá muchos menos errores
de excepción. Open nos tira más errores y este es menos. En otras palabras, mejor en todos los sentidos. En este caso vamos a comentar este código, este
que nos falta Te lo contamos, asignando al archivo que abrimos
una codificación universal. O más fácil, usando open para abrir un archivo. Archivo con codificación universal.

Aquí decimos, leemos el archivo completo, leemos
una sola línea, leemos línea por línea Y además. De hecho aquí podríamos hacer esto. Podemos equiparar esto con esto aquí. Por suerte lo cambiamos porque si no
quedaría mal descomentarlo. Hay. Y aquí podemos decir, para que se lea la línea, cuando
actualizo tengo una excepción. Porque no es lo mismo archivo que archivo cerrado.
Esto en este caso lo comentaré. Hay. Y voy a dejar el archivo aquí. Entonces tenemos el ejemplo. Y ahora vamos a intentar hacer lo mismo que
en el anterior. Entonces hagámoslo de manera óptima. Aquí decimos, abrir el archivo con open.
Aquí decimos, leemos el archivo, el contenido es el
mismo archivo.leer.

Y aquí decimos, mostramos el archivo, imprimimos el
contenido. Y lo dejamos aquí, no es necesario cerrarlo cuando se
usa con abierto. Y ahí tenemos exactamente lo mismo que antes. Sólo que tenemos un código más óptimo. Ahora vamos a crear otro archivo que será writetxt.py.
Escribámoslas. En lugar de andar leyendolos ahora, abrimoslos
con otro tipo de permisos. Abrámoslos con permiso de escritura para
poder escribir en ellos. Bueno, para empezar, digamos, abramos
con open. Con abierto. Y vamos a abrir el mismo archivo. Usaremos las dos barras en archivos. Archivos, barra, barra. Utilicemos comillas simples, archivos y texto
de dalto.txt. La codificación universal, codificación utf8. Aquí vamos a decir as, lima, dos puntos. Pero aquí tenemos que añadir un valor extra. Qué es escribir. En este caso lo pondremos antes. Y ahora la codificación. ¿Por qué? Porque el segundo parámetro escribe.

En este caso se hace referencia a que tendremos
permiso de escritura. Escribamos en el archivo. Y ahora podemos escribir. Si por ejemplo escribo file.write y pongo
jajajaja la recontra teclie. Actualizamos. Y parece que no hizo nada. Pero si llegamos a abrir el archivo de texto. Bastante extraño ese ruido. Sí Sí. Mi explorador de archivos se cerró, gente. Bueno, no hagas esto. Mentira, todo está más que bien.

¿Se unió al explorador? No no no. Ahora abrimos el archivo y vemos que dice jajaja
teclie lo cuenta. Pero lo que acabamos de hacer aquí es reescribir el
archivo. El tema de esto, como les dije, es que esto lo
que hace es escribirnos. Y sobrescribe el archivo. No guarda la información porque no la lee. No hace más que escribirlo. Y en este caso si ya tenemos un archivo. Acabamos de sobrescribirlo. Y básicamente nos cagamos. Así que por un lado tenemos escribir. Y por otro lado tenemos líneas de escritura. Veamos para qué sirve esta función. En este caso si lo voy a comentar. Voy a poner sobreescribiendo el archivo. Así es como voy a comentar. Entonces sabemos más o menos que estamos sobrescribiendo.
Y aquí si ponemos escribir.

En este caso expediente. Líneas de escritura de archivos de puntos. Y aquí voy a escribir algo. Por ejemplo, hola profesora, ¿cómo estás? Veamos qué pasa. Aquí, por ejemplo, voy a presionar enter. Parece que no pasó nada. Pero si vamos al archivo y dice hola profesora como
está. ¿Que pasó aquí? Es que si pongo una coma aquí y escribo otras cosas.
Como la misericordia.

¿Por qué puse esta palabra? No lo sé, pero era muy poco probable que se lo pusiera. Así que simplemente lo saqué de contexto. Actualizo el programa, lo ejecuto. Y me tira error. Porque dice que solo se solicita un argumento. Y quedan dos. ¿Por qué? Porque lo que aquí nos piden es un iterable. Aquí, por ejemplo, te doy una lista. Y aquí pongo la palabra misericordia. cuando actualizo. Ahora si acabas de hacer algo. Volvemos acá y me dice hola maestra como caminas
Merced. ¿Qué hace esto? Lo que esto hace es escribir líneas. Podemos pasarlo. Es como el proceso inverso para leer líneas. ¿Recuerdas leer líneas? ¿Quién lee las líneas? Esto es como el proceso inverso. En lugar de preguntar por ellos. Y eso devuelve una lista con todas las líneas.
Esto es lo que hace. Nos pide una lista con todas las líneas.
Lo que pasó antes es lo que nos pasó a nosotros. Si están de acuerdo en este tipo de archivos.

Más fácil. Específicamente aquí. Descomentamos esto. Y pedirle que nos pase las líneas. En este caso. Si ejecutamos esto Nos devuelve si se acuerdan. Las líneas. Bueno. Todas las líneas. Pero dejemos un espacio debajo. Actualizamos. Y ahora vamos a ejecutarlo nuevamente. El de aqui Y teníamos esto aquí. Para el espacio en línea. Entonces si estoy aquí. Lo pego aquí. En este caso vamos a pegar. Aquí esto. Y ejecuta el programa. Ahora me acaba de escribir lo mismo. De hecho, voy a eliminar esto. Actualizaré esto. Y si se dan cuenta Ahora está actualizado. Y me dejó el espacio online. Es literalmente el proceso inverso de Readlines. Porque en lugar de repetir Pídale que devuelva una lista con líneas. Te pasamos la lista con las líneas. Y salimos del espacio online con una barra núm.
Barra invertida no. ¿Cuál es la forma universal de dejar espacios? en
línea. En los correos electrónicos. Dondequiera que puedas imaginar Es interesante. Porque de esta forma podemos escribir varias líneas.
Ahora.

¿Qué pasa si lo uso dos veces? Por ejemplo la función Escribir. O la función Escribir líneas. Ambos escriben. Siempre sobrescriben. Si algo existe, lo sobrescribe. Y si no lo crees. ¿Qué pasa si lo uso dos veces? Intentemos. Si lo uso dos veces. Voy a poner otro texto aquí. Para diferenciarlo. actualizar. Y veamos qué pasa. Obviamente funciona. Pero lo que pasa es que nos escribe a los dos. Ahora no se sobrescribe. Porque escribir líneas. Lo que hace es una especie de acumulación. si ponemos esto Luego ponemos esto Es como si hiciéramos algo similar a esto.

De hecho. Voy a mostrarte. Que es como hicimos esto. Actualizamos. Y no cambio nada. Porque es lo mismo. si ponemos esto Sólo eso. Agreguémoslo. Y podemos usarlo. Por ejemplo. En un bucle. En un para. Si queremos añadir información. En un para. Podemos agregar información. Y usa esto. Es como al revés. Que las funciones restrinjan. Y les comenté. Bien. Algo como eso. Entonces de esta manera. Podemos agregar líneas. Por ejemplo. Aquí lo comentaré. Voy a dejar un espacio. Y comenta. Añadiendo dos líneas. Con Líneas De Escritura. Y lo voy a dejar aquí. Añadiendo. Otras dos líneas. De hecho es importante. Al final de cada El resultado. Y que sea línea por línea. Así que aquí ponemos Hola maestro, ¿cómo estás? Merced. No sé. Por qué digo eso.

Yo tampoco. Así que aquí ponemos Como si de un diálogo de conversación se tratara. Y ahí está. Ejecutamos el programa. Y cuando vamos al resultado. Tenemos. Hola maestro, ¿cómo estás? Merced. No sé por qué dije eso. Yo tampoco. Aquí lo vamos a cambiar. Y pon. No sé por qué dijiste eso. Volvemos corriendo. Y ya tenemos el diálogo creado. 100% de Python. Bueno. Si tienen un teclado con teclado numérico. Qué pueden hacer. Es presionar 92. Y salta. Y tienen que presionar. La tecla CTRL MAYÚS. O. y C5. Y luego suelte CTRL SHIFT. O. Y mantienen firme el 5C. Perdón. 5C. Y ahí saltará la llave invertida. Si no les agrado. Lo copian y pegan. Y listo. Y así es más o menos. como escribimos Leemos y demás. Y trabajamos con archivos. De hecho.

Es tan sencillo que si queremos. Podemos darlo adjunto incluso. Si yo ahora por ejemplo. Agregar. Txt.pa. Y nosotros vamos a hacer lo mismo. Vengamos aquí y copiemos. Lo que dice escribir. Lo copiamos. Borrémoslo. Parece que no pasó nada. Pero cuando regrese Lo que hizo fue agregarlo. Porque el anexo. Hace lo mismo que escribir. Sólo que la escriba. Lo que hace es sobrescribir todo todo el tiempo. Mientras que el append. Cada vez que lo ejecutamos. A. Dos. Tres. Lo ejecuté tres veces. Ahora tengo tres veces el mismo código. Porque append lo que hace es sumar. Aquí por ejemplo. Voy a borrarlo para que no tengamos esta suciedad.
Pero cada vez que usamos append. Lo que hace es literalmente agregarnos. De hecho, ¿qué podemos hacer aquí? Soy yo, escribo, escribo varias veces. Por ejemplo. Y ahora escribo algo más. Puse el uno adelante. Le doy F5. Y cuando vengo aquí Lo que hace es. Escribe uno primero. Y luego el otro. De hecho, podemos venir aquí y usar un bucle. Por ejemplo. Para. Y en el rango 5. Por ejemplo. Y aquí para decir Escritura de puntos de archivo.

Línea. Usaremos F. Aquí añadido. Démosle yo más uno. Y ahora cuando ejecutamos esto. Está hecho. Corrió. Y aquí me dice. Se agregó la línea uno. Se agregó la línea tres. Se agregó la línea cinco. Y ahí me tira toda la lata. Para darle a la barra N al final. Barra No. Para que puedas dejar un espacio en línea. Así que voy a hacerlo. Elimina todas estas líneas que agrego. Yo tampoco. Ja ja. Voy a dejar esto aquí. Y esto lo vuelvo corriendo. Y ahora si miras. Se agregó la línea uno. Se agregó la línea dos. Se agregó la línea tres. Entonces más o menos podemos trabajar. Agregando el archivo. Usando un bucle. Para agregar. varias líneas.

De hecho. Aquí vamos a utilizar El escribio. Antes del bucle for. Escritura de puntos de archivo. Para simplemente agregar Un espacio en línea. Antes de que empiece. Esto es para qué. Tengamos el programa. Y ahí funcionó para nosotros. Y empezó desde aquí. Allí va. Perfecto. Añadiendo. Líneas. Y aunque quieran. Te reto. Para usar para.
9777
06:14:29,130 ​​–> 06:14:30,130 En
una sola línea de código con esto. Esto puede ser. Usar. Con una sola línea de código. Entonces. Te reto. A ver si se atreven a simplificarlo.

Bueno. Lo cual es bastante simple. Entonces.
9787
06:14:39,130 ​​–> 06:14:40,130
Se los dejo. Ahora que más o menos lo sabemos. Cómo leer un TXT. Cómo leerlo de forma óptima. Y cómo escribir. Y agregue más información. Es decir. Sobre escribirlo y trabajar con él. Veamos ahora. Como es el tema de la escritura. Trabajo y demás. Con archivos. Ir. Veamos ahora. Ok, ahora vamos a trabajar con un Archivo CSV, cuyo nombre significa literalmente, digamos
valores separados por comas, ¿vale? Así que manos a la obra directamente creando un
nuevo archivo que se llamará Ler.csv.py.

Esto es algo inusual, tengo las notificaciones desactivadas,
pero por alguna razón se me acabaron para hacer una notificacion ¿Que Grupo? De nuestro grupo familiar Hermosa tía mía, pongamos el modo avión, para que
nadie nos joda. Es lo que tienes que hacer cuando
estés viendo este curso, agregar el modo avión, ¿vale? Y empiezan a ver el rumbo porque el móvil es la
mayor fuente de distracciones. Estoy muy seguro que a lo largo de todo
este curso, sonó alguna notificación o con algo se distrajeron y ahí fue donde desviaron su atención Ahora lo agarran en el celular, le ponen
el modo avión, lo suspenden, lo dejan ahí sin problema y le dan Y si estás viendo este curso de celular,
aquí algo anda mal, me parece que algo no está esta funcionando porque quien ve un curso de
programación de celular Pero bueno, no importa, cada uno hace lo
que quiere con su vida.

Muy bien, creemos este archivo y
ahora vamos a empezar a trabajar. Para empezar, si queremos leer un archivo
CSV, en este caso vamos a crear un archivo CSV cualquiera La primera columna será nombre, la segunda apellido,
personas mayores. Entonces, aquí en el primero que vamos a poner,
pongamos una coma igual. Pongamos Lucas, Dalto, pongamos 99,
pues tengo 99 años. Y abajo vamos a poner a Roberto, Insane, 42
Aquí vamos a quitar las comas para que sea de tipo
numérico, ahí va, 42, coma y espacio. en línea Y por ultimo aquí vamos a poner a Camila, Daltyx o
Dalto Y otro espacio que será la edad, que serán
24 Actualizamos y aquí tenemos un archivo CSV,
guardémoslo como data.csv Cerramos el archivo y ya tenemos un código CSV,
algo que puedes interpretar fácilmente sobresalir o lo que sea Si aquí damos data.csv, aquí damos dos puntos,
imprimir datos leídos correctamente Ejecutamos esto y damos la bienvenida, lanzamos la excepción,
tenemos que hacer lo que hicimos antes.

Que es usar archivos de dos barras, ok, usamos archivos
de dos barras, ejecutamos Y ahora que estamos ejecutando me dice datos leídos
correctamente. Pero de hecho esto me leyó los datos correctamente,
está bien, veámoslo. Si ahora digo imprimir, aquí le vamos a asignar un valor,
como archivo y aquí le doy archivo.read Cuando esto se está ejecutando leemos
esto que está aquí, pero vamos a importar CSV, el módulo CSV Y ahora con esta importación vamos
a poder leer sin ningún problema Aquí no usamos read, usamos CSV.reader, ahora
sí cambia el asunto Y aquí ponemos el archivo, ejecutamos este y cuando
lo ejecutamos, ahora, otro mosquito En la cuarta beca aparece un mosquito en este Curso,
no me digas Miren lo que me trajeron, no como estamos haciendo para
publicitar esta marca y menos cuando se sale Bueno, de todos modos, echemos un poquito,
yo salvaste a Sai, muchas gracias, se tira así.

¿no? Si lo sostienes fuerte descubrí que va mejor.
fantástico En mi cuatronia de [ __ ] Luego nos llevo a casa, pero algo tranquilos
Viste que al menos los mosquitos tampoco Pero estoy seguro y estoy tranquilo de que
eso fue así. oh bueno eso es demasiado Mi querido amigo Sai vino a hacerme compañía
y vino a darme una manita para sufrir conmigo. el calor Él dijo, bueno, ¿cómo vas a sufrir? para
el curso Python Boy y te acompaña a sufrir también Bueno aquí lo que tenemos es un objeto CVRader, con
este podemos hacer muchas cosas Con la biblioteca CSV estándar podemos trabajar
con CSV de diferentes maneras Porque tenemos algo como DataFrames, que
no son DataFrames como tal Pero puedes manipularlos para que hagan cosas.

Si aquí, por ejemplo, hago esto y digo Lector, mismo, archivo,
más fácil, Lector de punto CSV, archivo Y ahora tengo esto aquí, podría mostrarlo.
Como hemos visto antes, PrintRader Lo mostramos y obtenemos lo mismo que antes, el
objeto Dado que lo recorro y es iterable, entonces podemos
recorrerlo Para, ponemos Row en Reader Entonces esto es lo que vamos a repasar, digamos, filas
por filas. La fila es una fila, por lo que podemos recorrer las
filas. Dos puntos, PrintRow y si ahora mismo recorremos nos
muestra esto como filas Y ahora nos devuelve listas con las filas
Si miras, nombre, apellido, edad, LucasDalto99 Este último espacio extra que nos deja es como un
cuarto valor. ¿Por qué tenemos este cuarto valor? Y ese cuarto valor es un valor extra porque
en datos, si os fijáis, os dejamos la coma Así que deberíamos quitarle la coma y actualizarla. Y ahora, cuando ejecutamos el código en lectura
CSV, aquí está Ahora nos interpreta esto correctamente, porque en un CSV
está separado por comas y por espacio.

En línea Entonces es valor, coma, valor, coma, valor, espacio
en línea Valor, coma, valor, coma, valor, espacio en línea
y así se separan Los primeros se interpretan técnicamente como
los nombres. Así, por ejemplo, cuando los llevamos a un Excel
Esto lo interpreta como si fueran los nombres de
las columnas. Vieron que arriba pusieron el nombre de la columna. Bueno, y el resto son los datos de las columnas. Esto es lo que realmente tenemos en el cálculo
de un ojo, por ejemplo. Así es como lo estamos leyendo.
Y aquí tenemos tres datos. El nombre, que en este caso es Lucas, Roberto y
Camilla. El apellido, que aquí es Dalto, Demential y
Dalto.

Y luego las edades, que son 99, 42 y 24. Entonces ahora con esta información podemos
trabajar porque estamos leyendo el archivo. Pero mi recomendación es que cuando trabajemos
profesionalmente con Python y con archivos No recomiendo leer eso en esta librería. Más bien recomiendo leerlo con otro que sepa llama
pandas Que primero vamos a hacer el proceso de este mismo
código y leerlo con Pandas Y luego te explicaré las diferencias. Pero profesionalmente cuando trabajamos en
análisis de datos De hecho, para eso normalmente queremos leer CSV.
En el análisis de datos hacia donde apuntamos en
nuestro camino de aprendizaje Qué es la inteligencia artificial, análisis
de datos y otros Vamos a trabajar con análisis de datos y con
esto Por eso es importante tener en cuenta
qué vamos a aprender Pandas.

Es una biblioteca de Python muy importante
que nos permite hacer esto pero mejor. Y es más profesional, tiene muchas funcionalidades y
menos limitaciones que CSV Entonces vamos, creamos un archivo que es Leer CSV con pandas.py Y ahora hacemos algo que es bastante loco. ¿Qué pasa si de repente queremos importar
Pandas? Le doy importar pandas como pd El acrónimo de Pandas con el que sueles trabajar es
ps. Cuando quieras llamar panda a la librería
Tienen que asignarlo como pd.

Porque es algo universal que todos le ponemos PD para
identificarla Así que ahora lo acabamos de importar. Pero si actualizo el código y lo ejecuto Me dice que no existe ningun modulo llamado panda
Entonces comencemos a instalarlo. Primero vamos a venir aquí a cmd. Ok, desde Windows, escribe cmd Haga clic derecho para ejecutar como administrador OK sí Y ahí se desarrolla, lo voy a cerrar. Lo primero que tenemos que hacer es instalar Para ver si tienes uno instalado puedes poner pip
Y si no salta le pueden poner py pip Si no salta le pueden poner py-m pip Entonces puedo ver efectivamente que he
instalado pip Porque si no tuviera pip instalado Yo no tiraría esto, así que lo tengo instalado.
Bueno, si estás en Mac o Linux Es importante que entiendas que puedes encontrar la documentación
oficial en la página Si ya has llegado a este punto en el curso de Python Es muy fácil y sabrás como encontrarla.
Buscan en Google cómo instalar pip y cómo instalar
pandas Y podrán hacerlo Les voy a mostrar el proceso en Windows.

Y puedes hacer el equivalente
en Linux y Mac. Si tienen Ubuntu es lo mismo. ellos también podrán hacerlo Verás que aquí saltan varias fuentes Puedes hacerlo oficial si quieres. ¿Qué es la documentación pip? Que si lo traducen al español les sirve para explicar
como descargarlo Lo tienen, dicen, si su entorno no tiene pip instalado
Hay dos mecanismos para instalar pip.

Apoyado directamente por los mantenedores pip
Headpip.py que es el común Aquí tenemos en Linux, en Mac OS o en Windows Entonces le dicen a Windows ahora, le dicen a Windows
Bueno, vayamos a Windows. Porque ¿cómo lo traducimos al español? windows es windows Aqui me dice como conseguirlo Aquí dice que Python viene con este módulo. Que puedes instalar pip en el entorno python Entonces lo que hacemos es copiar esto en
el CMD. Le damos CTRL V Y allí pip se instala automáticamente. Ya está instalado ya tenemos pip Una vez que ya tengamos pip instalado, vamos a
verificarlo. Para verificarlo entonces es simple. Py yom m pip Y ahí ya tira todos los datos de lo que se puede
hacer Es simple, cuando tienes pip instalado.
Podemos proceder a instalar pandas.

Esto es lo mismo, es Py yom m pip. instalar pandas ellos presionan ENTER Y ahí instalará pandas, empezará a ejecutarse.
Y aquí me dice que ya se instaló sin problema Comprobemos si está instalado. Aquí sigue instalando, sigue instalando Esperemos a que termine de instalarse. Y no voy a usar el famoso yo No lo instalo porque ya lo tengo Lo instalo contigo porque no
me importa nada. me vengo todo o nada Ya sabes, desde el principio del curso
dije allí se instaló Cerramos, ejecutamos esto y veremos si funciona. Ok, el programa se está ejecutando, funciona. Vamos a ver Tipo de impresión p.d. Listo, módulo de clase Es un módulo, es un módulo que efectivamente funciona.
¿Por qué hicimos todo esto, Dalto? ¿Por qué me hiciste tan grosero? Bueno ahora voy a explicar Relájame porque te daré una bofetada, ¿entiendes? Para empezar, para leer un archivo usamos la función
de lectura. Entonces aquí vamos a decir el mismo archivo leído
En este caso es pd.read Aquí tenemos todas las funciones, ¿ves? leer.csv Y aquí ponemos el nombre del archivo.

En este caso utilizamos data.csv Y no olvides que también usamos el archivo. Entonces vamos a lanzar una excepción. Pongamos archivos la barra, barra Actualizamos y ahí está funcionando. Ya hemos leído el archivo. Ahora solo lo mostramos Imprimir archivo Ejecutamos y nos muestra la información de csv.
Aquí podríamos trabajar con el cuaderno de capítulos. ¿Qué es una forma de trabajar inteligentemente?
oficial Y un análisis de datos más óptimo, diría yo. De repente puse control shift p aquí Y puse el cuaderno de capítulos. ¿Qué es como un cuaderno de capítulos? Aquí podría venir aquí y copiar esto, ¿vienes?
Lo copio, lo copio aquí y lo pego..

As found on YouTube

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *