Transcript for:
video_clase1

Muy buenos días a todos y a todas, espero que se encuentren muy bien. Acá nosotros arrancando otra mañana, nuestra segunda clase de Python inicial. ¿Cómo estás Karo? Bienvenida, ¿qué nos cuentas? Bueno, bienvenido Fede, muy bien, por suerte arrancando el día, al fin salió el sol.

Una semana muy fea, pero bueno, ya estamos arrancando. Sí, bueno. Tempranito, buen día para todos. Bueno, mientras se siguen sumando, vamos a comenzar la clase número 2. Tenemos gente nueva.

Sí, hubo gente que vino de otras comisiones, que por ende ya tuvieron la clase número uno. Hay gente que arranca hoy. Hubo inscripciones que se sumaron a estos últimos días, así que también hay gente que arranca desde cero hoy con nosotros. Así que bueno, me presento rápidamente. Mi nombre es Karol Ibera, voy a ser solutora pedagógica durante todo el programa.

¿A qué me refiero con tutora? Bueno, yo voy a estar detrás de ustedes, ¿sí? Una especie de seguidora personal. Hacenles un seguimiento, ¿sí?

A cada uno. ¿Cuándo? Sí, quédense tranquilos que yo sigo admitiendo.

Un seguimiento, ¿sí? De, no sé, veo que están faltando, o veo que por ahí no están haciendo los cuestionarios, o veo que sí que están avanzando. Entonces hacerles, che, felicitándolos, diciéndoles, che, qué pasa que no se están conectando, qué pasa que no están entregando los módulos y demás.

Así que cualquier duda o consulta administrativa, no sé, che, caro, se me está haciendo muy difícil el curso, o no me puedo conectar por tal motivo, o... Cualquier cosa que a ustedes les suceda, que exceda, por allá decirlo, el contenido de Python, se pueden acercar a mí y vamos a tratar de resolverlo, ¿sí? La idea es que todos los que están acá presentes puedan terminar el curso, puedan hacer todos los contenidos, puedan entregarlo y terminarlo en el día, así que cuenten conmigo para todo lo que necesiten, ¿sí?

Así que bueno, eso por un lado, para los que no me conocen, bueno, Fede, no sé si te querés presentar y después continúo. Dale, bien, bueno, por mi lado, bueno. Me llamo Federico Likin y voy a estar a cargo de la parte pedagógica. Voy a ser su instructor a lo largo de estas 15 semanas que quedan.

Así que bueno, desde ya un gusto poder contar con ustedes. Y espero poder hacer agradable su estadía por este recorrido de su inicio en el mundo de la programación. Para quienes inician y para quienes vienen a reforzar o conocer Python porque ya conocen otros lenguajes. o ya están en el mundo IT, les damos la bienvenida.

Así que no sé si por esa parte querés agregar algo más como recordatorio. No, sí, no últimas cositas. Bueno, me llegaron las respuestas de mail yo a los que faltan.

Quiero hablar de eso, del tema de las ausencias. Yo lo que hace Zoom es directamente descargar los mails. Los descarga una Excel y de ahí se pasa el presente y el ausente.

Ha pasado la primera semana que algunos se conectaron con otros mails, o con cuentas secundarias de las que no están registrados en Talento Tech. Entonces por ahí se pasaron varios ausentes de los que vinieron. No importa, si yo les mandé el mail y me dijeron checaros, yo estuve conectado, qué pasó. Todos los que me respondieron al mail de que estuvieron conectados, yo los chequeé y les puse el presente. Así que por ese lado quiero que se queden tranquilos, no desesperen.

A todos los que me dijeron, che, Karo, me conecté, listo, va a ser presente. Puede pasar que es un registre, algún que otro mail, que no sea de ustedes y demás, lo que sea, no importa. Si vean que yo les mandé el mail de ausente, me dicen, che, Karo, no, gran, yo estuve y lo chequeo y ya está, ¿sí? No hay ningún problema con eso, así que quédense tranquilos que puede haber algún error desde ese lado, ¿sí? Así que...

Los que faltaron, obviamente, me avisaron, les puse el justificado, así que quédense tranquilos. Obviamente, mientras siempre, siempre y cuando avise con anticipación y yo pueda pasarlos a la asistencia. Con respecto al campus, bueno, hay varios que me estuvieron mandando estos días de que no les habían dado la alta. Tranquis, porque eso lleva un poco su tiempo, se va cargando de atandas. Creo que Fede ya había pasado los últimos, creo que ayer, porque se fueron sumando de a poco.

entonces quédense tranquilos que todos van a tener acceso, ¿sí? En el día de hoy, en el día de mañana más tardar. Igualmente, caso puntual, me escriben y me mandan un mail y vemos cómo hacemos para poder darles de alta, ¿sí? Pero quédense tranquilos que eso por ahí llega a su tiempo. Piensen que son un montón, tenemos como cientos y pico y hay un montón de comisiones, así que con paciencia que todos van a poder acceder, ¿sí?

Bien. Así que, bien. ¿Alguna otra duda, consulta?

Bien, sí. En lo posible, sí. Y si no nos avisan, ¿sí?

Porque, como les dije, Yo no tomo presente uno por uno, sino que Zoom me descarga los mails. Directamente los pasa a la planilla de asistencia. Entonces, si hay un mail que no reconoce, lo va a pasar como ausente.

Pero bueno, como les dije, no se pueden cambiar el mail, no importa. Yo cuando les mando el mail de presentismo, digamos, ustedes me dicen, che, claro, mirá, yo estuve presente, y listo. A todos los que me mandaron ese mail, yo los puse como presente.

Así que no hay problema. Perfecto, bien, bien. Señor Caro, bueno, gracias.

Ok, no importa, que ahora hay una chica en Discord que no le dejó cantarse a Zoom. Bueno, ahora lo revisamos. Yo sigo emitiendo igual, ¿eh?

Todavía sigo, sigo emitiendo. No se preocupen. Ah, y otra cosita. Tema clase grabada.

Van a ver que yo les mandé en el mail. En todos los mails que les estuve enviando hay un link de Drive. Donde ustedes tienen acceso y van a poder acceder. A las clases grabadas, al link de Discord también. a todo el contenido que Fede va haciendo clase a clase, se va subiendo también a un link está todo ahí, así que chequenlo, véanlo, siempre las clases van a quedar grabadas así que no se preocupen bien, perfecto Caro, muchas gracias por los avisos y los recordatorios sumo, bueno, lo que dice Caro, la playlist está siempre disponible Y claro lo que va a compartirles es la playlist, si?

Yo ahora termino la clase y cojo a subir el vídeo así que más tarde, ahora el mediodía ya estará renderizado y qué sé yo según el señor youtube. De las after class por lo pronto no se graban lo único que tengo autorización para grabar es la resolución de los cuestionarios y fíjense que bueno el martes estuvimos en nuestra after class nuestra primera after class y bueno resolvimos en vivo ahí el cuestionario de introducción y me sumo a eso ya que vi una pregunta en el chat y es que bueno, en el aula virtual, cuando tengan acceso a los que todavía en el transcurso de esta semana le van a estar habilitando tengan en cuenta que los contenidos disponibles en el campus clase 1, 2, 3, 4, 5, 6 y así sucesivamente, se van a ir habilitando a medida que ustedes Respondan los cuestionarios. Fíjense que en la introducción. Acá en la solapita de introducción. Tienen un cuestionario de introductorio.

O de introducción. Que son nueve preguntitas. Que son los que están resueltos acá. En la grabación.

Y bueno la idea es que ustedes lo puedan. Si lo aprueban. Obviamente no tienen una cantidad.

Limitada de intentos. Ustedes pueden probar las veces. Hasta que lleguen a probarlo. Y eso. Una vez que ustedes lo hacen, debería habilitarles el contenido de la clase 1 y la clase 2. En la clase 2, que es la de hoy, están los materiales de clase, la presentación, los ejercicios propuestos.

Ahí hay un nuevo cuestionario referido a los temas de la clase de hoy. Esto ya va a estar disponible para que ustedes lo puedan desarrollar. y rendir al cuestionario y eso les va a habilitar el contenido de la clase 3 y 4 y así cada dos clases hay un cuestionario que ustedes deben responder para habilitar bien los contenidos dentro del aula virtual y bueno excepcionalmente por éste y la próxima semana yo en nuestro drive, en nuestra carpetita de Google Drive también se los compartí voy a estar subiendo los contenidos de la clase, por lo menos la 2 y la 3, para aquellos que todavía tienen problemas en acceder como para que tengan ahí el material, después ya debería solucionarse y bueno, compartiré únicamente los códigos o lo que veamos tanto en clase como en el after class.

Bien, perfecto, genial. Y bueno, el canal de... Tengo dos cositas que decir después, cuando pueda, si hay un problema.

Bien, sí, después con el link de Discord, esto les va a habilitar el canal. Recuerden que acá por el canal en general vamos a ir manteniendo consultas generales. En anuncios de cursada, bueno, ahí están los links también para que tengan a mano.

Y bueno, recursos y grabaciones, iremos compartiendo algún material o algo que crea propicio para la semana. en Juego y Desafío seguramente desde hoy ya empezaré o esta semana Vamos a subirle algunos retos de programación como para que vayan practicando además de los ejercicios que están disponibles en la cursa. Bien, bien Karo, dime que... No, no, dos cositas básicas. Bueno, ahí vi que algunos me están mandando mails, sí, que Están tranquilos que ahora una vez que pasamos esta parte de introducción voy a poder ir respondiendo, caso puntual.

Pablo me preguntó si se puede cambiar de comisión, esto es una pregunta también que me ha llegado por mail. Sí chicos, no hay problema, se pueden cambiar de comisión siempre y cuando haya comisiones con vacantes disponibles. Porque a veces hay comisiones que ya están completas.

Entonces me escriben a mi mail, me dicen, claro, me gustaría pasarme tal día o tal horario y yo les... aviso que hay comisiones disponibles y si es viable o no es viable. Pero como cambiarse se puede, no hay ningún problema.

Y con respecto al Zoom, ahora voy a ver. Recuerden que en el Drive hay una explicación súper sencilla de cómo poder ingresar a Zoom. Al principio es medio engorroso, pero está la explicación de con qué mail, cómo poder registrarse y demás.

Pero bueno, ahora voy a atender consultas por mail más específicas. Pero bueno, eso es así a nivel general. Ok, buenísimo, Karol. Y un sumo ahí, los cambios de comisión son por mismo curso, no es que me quiero cambiar de comisión a Business Intelligence o a Full Stack o a JavaScript. O sea, el único cambio de comisión es entre Python y Excel.

Así que, perfecto, perfecto, bien. Bueno, entonces, nada. Bueno, arrancamos con los contenidos previstos para hoy.

Vamos a ver en la clase de hoy como temas introductorios a qué son las variables, los tipos de datos que podemos administrar en Python, que podemos manejar. Vamos a ver los tipos de datos primitivos. A medida después que avanzamos en la cursada vamos a ver otros tipos de datos y estructuras de datos un poco más complejas. operadores de asignación, aritméticos, vamos a ver cómo nosotros podemos interactuar con el usuario a través de la consola solicitándole datos de entrada. Si bien nosotros hicimos nuestro hola mundo ahí la clase pasada con la función print que era la que nos permitía mostrar por pantalla un mensaje o la salida de mi código.

Bien, vamos a ver qué alternativas, cómo funciona, en qué consiste tanto la función print como la función de input. Vamos a ver la conversión, porque muchas veces nosotros como manipulamos datos de entrada, bueno, y tenemos que hacer operaciones o manejar los datos que ingresa el usuario, bueno, muchas veces vamos a tener que hacer conversiones entre los tipos de datos como para que nuestro programa no rompa, entonces vamos a ver en qué consisten las conversiones de tipo de datos y bueno, vamos a ir viendo algunos ejercicios como para esto que les comentaba la clase pasada de la forma en la cual nosotros resolvemos un algoritmo o cómo deberíamos empezar a pensar el desarrollo o la construcción de un algoritmo teniendo en cuenta datos de entrada una lógica de proceso que transforma esos datos y Una salida que me permita a mí mostrar la solución o la resolución al problema en particular. Bien, en la próxima clase vamos a ir de lleno a condicionales y tomar decisiones en nuestro flujo de programa. Bien, y nada, como...

dejo eso ahí como para que ustedes tengan en cuenta si bien les había compartido está en el drive los temas de cada clase que vamos a ver como para que también lo tengan previsto y bueno tengan en cuenta que hay una presentación esto está en el aula virtual yo después se la subo que explica todos los temas que vamos a ver no quiero ir no me gusta ir leyendo y explicando sino que vamos directamente a programar y ahí vamos a Gracias. ir estudiando los conceptos. Así que esto después se los comparto.

Bueno, en la clase pasada habíamos visto dos formas de poder trabajar y una era, bueno, con instalando Python dentro de nuestro sistema operativo, como para poder ejecutar todos los scripts. o todos nuestros programas, que son archivos de texto que tienen una extensión específica, es que es .py o .py, no sé como lo quieren decir. Y que, bueno, eso internamente por terminal va a poder ejecutar un comando de Python o Python 3 o Py. que va a leer nuestro archivo, el intérprete de Python va a leer instrucción e instrucción de nuestro archivo y bueno, va a darle o va a convertir esa instrucción que nosotros le dijimos a un lenguaje específico que el procesador entienda para poder ejecutar esa acción.

Entonces para eso necesitamos tener instalado Python dentro de nuestro sistema operativo. Esa era una opción, ¿sí? Y para poder escribir o poder manejar, sí, escribir nuestros programas, así como cuando tenemos que trabajar con un documento de texto y usamos, no sé, Word, LibreOffice o alguna herramienta que nos permita o nos facilite escribir texto, ¿no? Y ponerle colorcitos y formatear y qué sé yo.

Bueno, aquí cuando nosotros queremos escribir nuestros programas, ¿bien? Podemos utilizar distintos editores de código que ofrecen distintas prestaciones y que simplifican a la hora de tener que escribir nuestro código. Tranquilamente podríamos usar el blog de notas, sí, podríamos usar el blog de notas y escribir programas en blog de notas.

Pero para eso existen tanto editores de código o interfaces de desarrollo. proveen ciertas funciones o nos facilitan la hora de escribir nuestro código. Para eso hoy vamos a usar Visual Studio Code por un lado. Dentro de Visual Studio Code, si bien lo habíamos visto rápido, hago un repaso de las secciones y en qué consiste.

Nada, esto es como el espacio, la ventana de trabajo de Visual Studio Code. Tenemos el menú de opciones arriba. Y a la izquierda tenemos unos botoncitos, un menú de iconos laterales, en donde voy a tener distintas prestaciones. Por lo pronto, a ver, ustedes pueden encontrar el menú archivo, file, y dentro de todas las opciones tienen la opción de Open Folder o Open File.

Open Folder o abrir carpeta. Entonces ustedes se dirigen a esa opción, eso le abrirá a su explorador de archivos del sistema operativo que estén trabajando, MacOS, Linux, Windows. Y bueno, aquí elijan un directorio donde van a ir guardando sus códigos de las clases.

Entonces sean en ese caso como ordenados a la hora de... poder generar su código, entonces, no sé, pueden poner, crean una carpeta, código, le va a poner código, clase 2. Si usan más de, esto es recomendación, si usan más de una palabra para el nombre del directorio, no usen espacios en blanco, no usen caracteres especiales, pero unan con guiones bajos. Esa vendría a ser como una recomendación, una convención. Para evitar usar espacios en blancos tanto en nombres de archivos como en nombres de directorios. Porque posiblemente sea después un dolor de cabeza.

Entonces crean la carpeta, la seleccionan. Y eso va a abrirle su Visual Studio Code en ese espacio de trabajo, en ese directorio. Para que ustedes puedan empezar a trabajar.

Y todos los archivos que ustedes vayan a crear. Van a ir a guardarse en ese directorio. Entonces, por ejemplo, para la clase 2 hoy, que vamos a ir viendo distintos contenidos, vamos a ir creando distintos scripts de Python con distintos nombres, pero van a ir a guardarse a esa carpeta.

Entonces, sería como la forma más organizada de poder trabajar. ¿Confío en los autores? Sí, porque, bueno, soy yo el... O sea, no sé, no lo habría una carpeta de un extraño. La creé yo.

Confío ahí. entonces, ahí ustedes ya tienen su espacio de trabajo reducido a ese directorio y todo lo que vayamos a hacer va a ir a guardarse en, hay que tener confianza en lo mismo exactamente como dice Juan bien, ahora ya teniendo instalado Python el intérprete, este era el segundo paso de instalar Visual Studio Code, ya vamos a ver después otra alternativa de esto Bien, dentro de las opciones de la izquierda, ustedes en el explorador van a poder ver la carpeta o el espacio de trabajo vigente y los tantos subdirectorios o subcarpetas. y archivos que estén trabajando ahora todavía no tengo nada por eso está acá vacío van a tener la opción de ir a buscar ustedes pueden buscar en todos esos archivos o sus directorios palabras o un texto específico o inclusive usar la opción de buscar y reemplazar y eso buscan todos los archivos si ustedes tienen acá 10 archivos 20 archivos buscará en esos 20 archivos está bueno esto Por lo pronto no lo vamos a ver, pero es una funcionalidad que ofrece Visual Studio Code para manejar repositorios y llevar un registro de cambios. Nosotros no lo vemos como contenido de esta materia, pero en el mundo de la programación el poder manejar versiones de nuestro código e ir guardando esas versiones fue fundamental. Así que posterior a este curso les recomiendo estudiar repositorios.

o versionado de código. En este caso podría ser Git combinado con alguna herramienta online que podría ser GitHub. Ejecución y depuración.

Esto nos va a permitir poder evaluar o probar nuestro nuestro código de una forma un poco más elegante, viendo y puñando puntos de frenado dentro de nuestro código para poder ver y ver como una fotocopia un screenshot de que está pasando en ese momento que contenido tiene las variables en que parte de mi código estoy como está funcionando la lógica como es el caminito que estoy siguiendo para poder probar nuestro código nos va a ser de mucha utilidad lo vamos a ir viendo más adelante y acá dentro de las extensiones un poco lo que por ahí hablamos en el after class y se los compartieron ahí en discord son como complementos adicionales que podemos nosotros instalarle a Visual Studio Code para poder agregarle más prestaciones a nuestro editor de código. Entonces si lo tienen en inglés la opción para que lo tengan en español es este Spanish Language for Visual Studio Code, este complemento ustedes lo instalan y reinician el Visual Studio Code y van a tener todo en español. Eso por un lado. Después, otro que vamos a utilizar es Python.

Que es este que está acá, Python. Python solito. El resto...

Cuando instalan Python es muy probable que se descarguen, automáticamente se instale Python Debugger y PyLint, que son otros complementos que ofrece en este caso Microsoft. Fíjense que acá está quién es el desarrollador o el que ofrece este complemento. A la hora de instalar complementos siempre fíjense en la reputación de quién es el que ofrece y cuántas descargas tiene, porque es código de terceros. Tendría que tener cierto cuidado de saber que instala dentro de sus complementos en Visual Studio Code.

Entonces por un lado el Spanish Language para pasarlo a español. Python para sacarle más provecho a Visual Studio Code para que pueda correr nuestros scripts de Python o ayudarnos a la hora de escribir nuestro código. Proponiendo sintaxis de Python también. Ok.

A ver. Deshabilito la notación para otros. Ok.

Ahí va. Perfecto. Bien, y algo que no lo dije en After Class y ya que estoy, hay otra extensión muy buena que es Error Lens. Y esto aprovecho ya para todos ahí ya que estamos. Error Lens.

Que... Es una extensión que nos va a dar en tiempo real a medida que nosotros vayamos adquiriendo nuestro código. Si hay algún error de sintaxis, bueno, ahí nos va a indicar cuál es ese error o en qué estamos fallando.

Bien, previo a tener que ir a ejecutarlo y entonces es bastante útil a la hora de visualizar. Acá, por ejemplo, dice que está faltando un parámetro. Entonces, ok, dice, ah, bien, acá está faltando un punto y coma. Bueno, así te va avisando y te va alertando en caso de que haya alguna extensión ahí.

Sí, sí, lo pueden instalar. Es de mucha ayuda, así que lo pueden usar. Así que como complementos a eso, por lo pronto estaríamos como recomendación. Ya cuando manejemos base de datos y eso, vamos a instalar otros que nos permitan visualizar de una mejor forma nuestras bases de datos de SQLite 3. Pero bueno, esto con Visual Studio Code, nuestro espacio de trabajo.

Y bueno, vamos a crear nuestro archivo dentro de la carpeta. Y eso recuerden que lo hacen en nuevo archivo, en este iconito. o hacen nuevo archivo, archivo, nuevo archivo, o file, new file en inglés y eso le va a permitir aquí, yo siempre me es más cómodo desde este icono, nuevo archivo y ahí pongo, no sé, vamos a ver ahí, holamundo.com, bien, recuerden que si van a usar más de una palabra para el nombre del archivo también usen guiones bajos para ¿Vale? unificar ahí le voy a dar más espacio a esto acá y dice, profe, ¿podría usar el que viene con Python incluido?

o sea, si debe, si Bruno, a ver, los editores de código también a gusto personal de cada uno existen otros editores que son como copias de Debe ser un código como Cursor o Winesurf, que también son similares. Puedes instalar complementos y escribir tu código. Como digo, si ustedes quieran pueden escribir hasta en el blog de notas. Y ya, digamos, acá hago un print. Hola mundo, y estoy escribiendo un código en Python, digamos así.

Nada más que no tengo la ayuda. que por ahí acá cuando quiero hacer un print ya me va indicando que hace esa función, para que sirve, me cierra automáticamente si abro el paréntesis me lo cierra, entonces hola mundo python, y esto yo hago control S lo guardo o archivo guardar, o usa la opción de auto guardado en el menú de archivo, y ya queda ahí su script bien modificado con este código de mostrar por pantalla la función print que hoy vamos a estudiar un poquito más en detalle para ver qué hace y recuerden que tienen que guardarlo si todas las cosas o modificaciones que ustedes escriban print o la comisión 25 204 y fíjense que le damos a guardar control S y le damos a ejecutar y como bueno, se instalaron los complementos de Python, es muy probable que ahí ya le permita ejecutar con play Fíjense, bueno, acá está, me dice, hola mundo Python, hola comisión 25204. ¿Toma acentos los códigos? Sí, sí, toma acento, lo más que... Control S. Hay que ver muchas veces que hay ciertos caracteres, en este caso, que, bueno, la terminal puede que los codifique. Bien, fíjense que no hay problema con los acentos.

Esto ya vamos a ver que es un tipo de dato específico que es cadena de texto. Que, bueno, nosotros como lo indicamos entre comillas... Python interpreta o entiende que eso es un texto y que bueno, en este caso lo muestra como es el texto.

Bien, y estos iconitos, bueno esto es propio de Windows, si hago la tecla Windows punto, fíjense que abre los iconos. Bien, y bueno, lo puedo ahí. agregar los iconitos, en Linux y en Mac no sé si tienen esa utilidad, sé que en Linux no, hay que instalar como algo extra allí para que lo puedan visualizar, pero es propio el sistema operativo, en Windows es la tecla Windows y el puntito y tienen los iconos a mano Bien, perfecto. Entonces, esto por un lado, entonces, con mis astios code, a medida que vayamos escribiendo nosotros, podemos ir...

agregando nuestro código, siempre acá en la parte de la derecha van a tener su espacio de trabajo para poder modificar su archivo, recuerden el archivo que van creando con la extensión .pi si ustedes colocan, no sé otra extensión, no sé si pusieron .ph, qué sé yo bueno, y no sé puede que no, no sé y si ponen .pi, así bueno No tengan cuidado, porque es muy probable que no funcione. Entonces la extensión que tiene que hacer es .p. Usted puede modificar el nombre haciendo cambiar nombre o F2. Y fíjense que pueden cambiar el nombre del archivo. Seleccionando el archivito acá con F2 cambian el nombre.

Y la clave entonces es la extensión. ¿Hay una forma de darle control S ya que aparece el cambio en la consola o hay que darle al botón play para ver los cambios? Sí, hay que darle al botón play para ver los cambios. No es que tenemos como un servidor que está corriendo y a medida que detecta el cambio ya se ve la... No, en ese caso...

O sea, habría que ver si hay algún complemento que hace eso, no lo investigué, pero está. Después sí, con F5, más adelante ya vamos a ver la opción de ejecución y apuración. Sí, quizás con F5 vos podés ir probando el código en vez de estar haciendo play acá.

Pero ya lo vamos a ver más adelante, en la próxima clase de Google. Bien. Y nada, por último, nosotros en Python podemos escribir todo lo que ustedes escriban acá. Bien.

va a ser código que que python va a querer ejecutar o instrucciones que va a querer ejecutar entonces fíjense que bueno esto es por el error length me dice código código no está definido entonces no entiende que es código no es una sintaxis o una palabra reservada de python no es nada entonces si ustedes guardan y preidan play bien fíjense que acá aparece un error no de nuestra consolita que dice el chat. el código no está definido o no sé qué quiere decir código. Entonces, todas las instrucciones que ustedes coloquen en su archivo Python, Python las va a ir ejecutando a medida que pasa línea a línea.

Después vamos a ver que hay bifurcación, esos saltos que nosotros podemos dar en nuestro código, pero va a ir instrucción a instrucción. Entonces, cuando inclusive, por ejemplo, yo Borro esto y pongo acá código o cualquier cosa, ¿no? Y le doy a guardar, más allá que el error length ya me está detectando acá que estoy poniendo cualquier cosa, ¿no?

Y si ustedes ejecutan su archivo, bien. Fíjense que, bueno, aquí ya nos da otro error, otra sintaxis inválida y qué sé yo, ¿no? Pero... Acá le va a informar siempre dónde está el error y en qué línea. Fíjense que dice en la línea 3 que hay un error.

Entonces esta vendría a ser la forma que nosotros podríamos revisar después en qué parte de nuestro código hay error. Pero a la hora de ejecutarlo ustedes van a ver en la terminal, aquí en esta partecita de abajo, la salida de su código. Como así también los posibles errores que pueden llegar a tener. bien, entonces ahora si ustedes quieren escribir de cierta forma como apuntes o comentar su código porque es dentro de la formación y dentro de nuestros algoritmos comentar nuestro código es una buena práctica dentro de todo nosotros en Python podemos tener con numeral y empiezan con numeral y ponen código comentado o no se pueden escribir cualquier cosa esto es un comentario y si ustedes le dan play fíjense que aquí mi programa no rompe porque bueno esto es detecta python o el intérprete que esto es un comentario que no debería ejecutarse entonces yo podría de cierta forma escribir acotaciones del código para indicarnos el que hace o algún adicional algo que ustedes quieran agregar porque recuerden que va a ser muy probable que ustedes trabajen el día de mañana con equipos de programación entonces no es que va a ser propio su código u otra persona no lo va a leer entonces muchas veces la forma en que uno piensa o resuelve una solución O inclusive su yo del futuro cuando después agarran este código en un mes o en dos semanas.

Y ustedes agarran y dicen, pero ¿quién hizo esto? ¿Qué hizo? ¿Quién pensó?

Ah, no era yo el que escribía esto. No se acuerdan de qué es lo que pasó. Entonces muchas veces los comentarios son útiles para su yo del futuro, para otras personas que puedan leer su código.

Pero esos comentarios no se ejecutan, no se muestran o no interfieren en la ejecución. estos solo sirven para única línea y si ustedes quieren comentarios de múltiple línea pueden usar las tres comillas esto se lo voy a decir aquí usan tres comillas seguidas dobles y tres comillas para cerrar y acá ustedes pueden poner esto es un comentario de múltiple línea el profe explica muy rápido no sé, ustedes dirán pero Gracias. Entonces ustedes podrían tomar, no sé, como inclusive ahora ir tomando notas con las comillas triples ahí.

¿Sí? Triples que abren y que cierran. Y esto cuando ustedes lo guardan y le dan play.

¿Sí? Fíjense que no rompe el código. No se rompe ni nada. Esto Python lo interpreta como que...

bueno, es un comentario que yo quiero agregar a mi colegio, entonces si ustedes necesitan estar tomando apuntes o algo por el estilo, desde ahora a medida que por ahí me van escuchando, lo van viendo pueden usar las tres comillas, entonces así pueden ir agregando más comentarios más comentarios y bueno Entonces de esa manera pueden ir llenando de acotaciones a su código. Y eso cuando después lo ejecutan no va a romper en ningún momento. Las comillas me tira como error. Dice, fíjate que siempre que sean las comillas dobles, tanto triple así para abrir y que las cierre.

Porque si ustedes por ejemplo ponen tres que abren y dos que cierran. fíjense que ya me está tirando ahí un error o algo por el estilo o podría usar comillas simples pero fíjense que tampoco me cierra, me tira un error si usan, pueden usar comillas simples, ya vamos a ver para qué son las comillas simples y las comillas dobles, pero si usan comillas simples cierran con comillas simples con tres comillas simples, si usan comillas dobles cierran con tres comillas dobles entonces ¿Cómo sumas las líneas en el medio? Y no, dándole enter. Apresionas enter y es como si estuvieras escribiendo un texto cualquiera. Y damos enter y ya está.

Lo voy a guardar y bueno, se va todo este código como que va a guardarse dentro de mi script Python. Pero en definitiva, cuando yo lo ejecute o lo haga acá play, no se va a mostrar, digamos. Como que queda oculto.

¿Cómo ahorrarme lo que queda en la terminal? Depende de la terminal. Si están usando CMD con CLS, con el comando CLS, lo borran.

Fíjense que borran. O si no, tienen acá la opción de, no sé si, limpiar, borrar terminal. Acá se hacen tres puntitos, borrar terminal. o no sé si... esto lo cierra, el tachito de basura lo cierra, hacen tres puntitos borrar terminal, o cls en windows o control l creo que en linux escriban cls y eso lo borran, cuando están acá escriban cls Le dan enter y se borra.

Se desepara, limpiarla, termina. Porque abrió el servicio de Google Online y me dio la opción de abrir una nueva. carpeta pero no sé dónde apretar para escribir. Bien, cuando abrís una nueva carpeta vas a...

acá hay un archivito, un botoncito de un archivito con un signo más, ahí haces clic y de paso acá voy a agregar un nuevo archivo que es el que vamos a ver ahora, variables, por ejemplo, .py. Bien, entonces ahí creo un nuevo script, un nuevo archivo. conectación.py para yo escribir mi código. Bien.

Clear en Linux. Bien, bien, bien. Yo tenía control L, pero en Windows no me funcionó. Ok. Bueno.

Hasta ahí vamos. Muy bien. Sí, sí.

Explicas muy bien. Bueno, bien. Vamos despacio ahí. Ahora, ya que estamos y vimos ahí un poquito de Visual Studio Code, yo para compartirles el código un poco más en vivo, voy a usar otra herramienta que ustedes también pueden usarla, si quieren, en vez de Visual Studio Code y esas cuestiones, que algo lo habíamos visto en la clase pasada, que era el Google Colab. que eso se conectaba a su cuenta de Gmail, entonces tengan en cuenta que es como que Google les ofrece ahí una computadora en la nube con ciertos recursos para que ustedes puedan ejecutar código Python y crear sus scripts, pero que depende un poco también de si ustedes tienen su cuenta de Gmail explotada, bueno obviamente que a la hora de guardar esto quizás no tengan espacio, entonces bueno.

Prevean esa cuestión. Y esto permitía trabajar con el concepto de notebook o cuadernos que le genera ahí como un espacio también de trabajo en donde ustedes pueden añadiendo bloques, tanto de código como de texto, ir agregando acotaciones o su código. Entonces, por ejemplo, acá vamos a poner... notcuadernoclase2.

Bien. Y yo esto después acá se los comparto. Tuki, cualquier persona, lector, copio el enlace y deberían tener ahí acceso para poder ver. entonces todo el código que nosotros escribimos acá mi hola mundo, por ejemplo, lo copio, control c o clic derecho, copiar, y vienen acá y pueden hacer clic derecho, control v corta, y fíjense que ahí se copió mi código. Entonces acá tienen también la opción del play, del botoncito play.

Y que eso, bueno, la primera vez va a generar esta notebook, va a conectarse con Python, bien, tres, si tiene librerías, instalar las librerías o dependencias que necesita. Solo la primera vez, ¿sí? Y que usen esta notebook, ¿no? Entonces, fíjense que acá todavía está pensando, no ocurrió nada, ¿bien?

Vamos a ver que una vez que finalice toda esa conexión y todas esas cuestiones, ¿bien? acá abajo le va a salir la salida. Fíjense que de todo este código que mostré acá, la salida está aquí.

Entonces todo lo que vean acá como negrito sería como el espacio en donde ustedes pueden colocar su código de Python y que si ponen play después va a mostrar una salida. Lo que sí tiene acá bueno, y es que bueno, ustedes pueden como agregar bloquecitos, ya sea más bloques de código o de texto, así como si fuera un leo. Fíjense, lo pueden poner acá arriba, entonces ustedes pueden poner acá texto, ¿no?

Poniéndose primeros pasos, hola mundo con Python. Entonces ustedes también aquí pueden ir tomando notas o acotaciones y bueno, tienen acá una sección de texto, un bloquecito de texto. Acá el código de ejemplo, la salida, y por ejemplo si ahora vamos a ver variables, entonces yo podría acá agregar en vez de... Para eliminar esta celda o este bloquecito. Bien, y se borra.

O podría yo agregar texto. Y bueno, acá ahora voy a poner variables. Variables en Python.

Entonces agregamos esto como texto. Y fíjense que queda ahí el título. Variables en Python. Y inclusive después lo puedo yo editar.

Y bueno, esto lo puedo agregar ahí negrita. No sé si tengo... Puedo agregar imágenes, links, emoticones.

En definitiva, pueden ir trabajando o ir haciendo como bloques de anotaciones y también es bastante bueno y por ahí no usan tantos comentarios como si estuvieran haciéndolo acá en Visual Studio Code. Entonces después, qué sé yo, acá dice, bueno, acá vamos a agregar todo el código referido a variables. escribimos ahí las cosas yo lo voy a ir haciendo acá en Visual Studio Code y después voy a ir copiando y pegando aquí como para que ustedes tengan acceso también en tiempo real ok, Florencia no hay problema ¿a alguien más le pasa que en su blog de Colab no se ve lo que puso el profe?

creo que no se actualiza en tiempo real ok, puede ser eso, refleje la página apareció el último blog que dice, bien Gracias. Sí, sí, eso, a ver, por eso un poco no quería jugarme a empezar a escribir todas las cosas acá, sino bueno, ir compartiéndoselas a medida que las voy explicando aquí, cosa que, bueno, ya una vez que finalicemos el tema tienen acceso directo ahí y le pueden, ya voy a probar bien en detalle ahí el tiempo real porque eso. Puede fallar.

Hay que ir actualizando. Bueno, vamos a ver variables. De igual manera esto va con...

Vamos a ver, esto no es que lo vamos a ir viendo siempre, digamos, una variable que es una variable tanto en Python como en cualquier lenguaje de programación que ustedes posteriormente estudien. Una variable en sí es como una cajita en la memoria de nuestra computadora, en donde nosotros podemos almacenar temporalmente datos o información. Que nuestro programa necesite usarla posteriormente.

Y que, bueno, podré llegar a modificarse su valor o su contenido mientras nuestro programa va corriendo o se va ejecutando. Entonces, las variables son eso. Son porciones de memoria que nosotros asignamos en el momento de crearlas. Y las reservamos para nuestro programa y para que puedan ser... asignadas en algún momento un valor específico dentro de esa cajita.

Bien. Ahora, nosotros tenemos que darle nombre a esas variables para poder identificarlas dentro de nuestro código. Y que, bueno, a ver, dentro de la memoria de nuestra computadora la identificación es un poco más compleja con índices y números y bla bla bla.

Pero nosotros Vamos a hacer la referencia por medio de nombres que a nosotros nos sirvan y que en definitiva deberían ser representativos a la hora de poder después utilizarla dentro de nuestros programas. Entonces los nombres de las variables, por ejemplo voy a usar la variable curso. En este caso ya me da un error porque me dice curso no está definido en Python.

Entonces, pero... En Python en particular, tanto la creación o la declaración de la variable se hace en conjunto a una operación de asignación. La asignación es a través del operador igual. Y acá nosotros vamos a decir, voy a crear la variable cursos y le voy a asignar un valor. Y ese valor se va a corresponder a posibles...

distintos tipos de datos que ya en un ratito lo vamos a ver, ¿sí? que podría ser un número, podría ser un texto, podría ser un valor lógico verdadero o falso o podría ser un número decimal, flotante o alguna variante de un tipo de datos más complejo que trae Python, que vamos a ir viéndolo en clases posteriores. Pero, por ejemplo, yo digo, ok, el curso es Python y voy a usar estas comillas dobles, comillas que abre y comillas que cierra, para indicar que esto va a ser Python inicial.

Y esto, en definitiva, esto que está acá, vamos a ver que es un tipo... ¡Pues chao! Después vamos a entrar en el taller, que sería como es un texto.

Es un texto. Entonces yo le asigno este texto a esta variable curso. Entonces yo después podría hacer un print de curso y guardo este archivo.

Y le doy a ejecutar. Y vamos a ver que me muestra acá entonces. el contenido que tiene esa variable. Hace rato en Hola Mundo nosotros hacíamos print y directamente el texto que queríamos.

Acá lo estamos haciendo como en un intermediario. Entonces estamos diciéndole, ok, créate esta variable, curso, y asignale este valor. Entonces después cuando nosotros hacemos un print de la variable, entonces Python dice, ok, tengo que imprimir una variable.

A ver ¿Qué variable es curso? Ok, tiene una referencia de memoria con numeritos raros ahí. Entonces va a decir, ok, tengo que ir a la posición de la memoria. ¿Qué tiene? ¿Qué contenido tiene?

Ah, tiene Python inicial. Entonces muestro por pantalla el contenido que tiene. Entonces voy a usar ahí esa variable para poder... Fíjense que acá también pasa lo mismo, ¿no?

Pongo code curso, el nombre del curso, pongo print curso y me muestra directamente el contenido. No es que me muestra curso, no es que me muestra la palabra curso, sino que me va a mostrar el contenido. Ahora, otra cosa en variables, como el mismo nombre lo dice, ¿no? Yo a curso le puedo asignar acá 25. ...204, ¿no?

Acá le estoy haciendo también como una sobreescritura, ¿no? Sobreescritura. ¿Por qué? Primero la estoy creando a la variable curso con un valor inicial que es Python inicial. Y posteriormente esto va a pasar frecuentemente en sus programas.

Acá tenemos cuatro líneas, pero, no sé, en la tercera línea ya estoy modificando el valor de la variable. ¿Sí? Y acá, bueno, ya después vamos a ver en detalle, esto es un número. Bien, si le doy a guardar y lo ejecuto, bien, vamos a ver que, si bien inicialmente en la línea 1, Python inicial era un texto, ¿no? Curso.

En la línea 3 le asigné el número 25204. y cuando dice print curso fíjense que lo que me está mostrando es 25204 entonces aquí está teniendo ese concepto de variable como su propio nombre lo dice porque yo puedo ir cambiando o alterando su contenido y en el momento en el cual no sé yo tengo que imprimir o mostrarlo por consola en este caso con print Va a tomar el último valor que tiene guardado esa variable. No el valor inicial. Porque a medida que ustedes van escribiendo su código.

Esto frecuentemente va a ir cambiando. Entonces aquí también pasa lo mismo. Te muestra un número.

Entonces como para que tengan en cuenta. Entonces, usen nombres de variables que sean representativas al contenido que va a guardar o a qué va a operar. Y si ustedes necesitan usar más de una palabra para poder representar el nombre de una variable, usen la anotación en Python. Hay una convención que es la anotación snake case.

que es con guión bajo. Entonces si yo quiero poner acá mi nombre, uso guión bajo. Entonces aquí uso adecuadamente esta convención para el nombramiento de las variables.

variables. Puedo hacer print. Eso no quiere decir que si yo por ejemplo pongo así o mi nombre no funcione, digamos. Va a funcionar, pero una convención que se pusieron todos de acuerdo los programadores Python ahí, agarró de la mano, ok, para las variables o para el nombre de funciones o para cualquier cosa que nosotros necesitemos, usemos. guiones bajos para separar palabras.

Entonces nos vamos a moldar a esa convención. Fíjense que funciona. Entonces la anotación es snake case.

Pueden usar... no pueden contener como caracteres especiales como signos de admiración, signos de pregunta. Símbolos, pesos, esas cuestiones no. Digamos, los nombres de variables no usan esos caracteres especiales.

Pero sí, la anotación ahí es make case. Los espacios son necesarios. Los espacios entre aquí... A ver...

No hay problema, digamos, esto corre igual. Pero como... Como... Sí.

Legibilidad de código. Es conveniente ponerle espacios ahí como para... Que quede adecuadamente escrito. Y si me decís de que puedo yo tener a todo junto en una sola línea. Fíjate que ya acá nos salta un error y nos dice que no.

Bien, siempre tenemos que dar una instrucción. Enter. Otra instrucción. enter, otra instrucción, enter bueno aquí lo que hice fue nuevo archivo puse acá código clase, nuevo archivo y me habilita el botoncito con el archivo más, colocar o crear un nuevo archivo. Entonces yo voy a poner acá, no sé, fn-print y esta la voy a dejar para el siguiente tema.

Bien, entonces ahí me crea un nuevo archivito y No, porque el símbolo de pregunta significa otra cosa, digamos. Si es un símbolo que es un operador que se puede usar para otra cosa, entonces el signo de pregunta no se usa. Bueno. Uy.

El símbolo igual es la asignación. El símbolo igual es la asignación. Declaración con el nombre y la asignación con el igual. Entonces es como que dice, ok, a esta variable con este nombre depositarle este valor. Entonces el igual es la asignación.

Bueno, creo que me entusiasmé, perdón por el entusiasmo. Nos pasamos ahí unos minutitos. Hacemos ahí, estiramos las piernitas ahí un momentico.

Cargar el termo del mate. Claro, exacto. Y volvemos ahí con los otros tipos de... La función print y los tipos de datos que podemos encontrar en PyTool.

Y cualquier cosa, después de hablar. Las consultas. Vayan, descansen un ratito.

Ok. Ahí estamos. Entonces, vamos retomando.

Veo las consultas ahí y voy respondiendo mientras van volviendo. Bueno, con respecto a sus consultas, me dice el profe, si repetimos la parábola de las anotaciones que hay, ¿no pasa nada? Sí, no, no pasa nada.

Puedo hacer acá. Nombre, nombre, nombre. Y fíjense que si yo guardo esto, no pasa nada.

Es el nombre que ustedes quieran poner. Siempre y cuando respetando esa convención. Se pueden asignar varios valores a una variable.

Sí, sí se puede, digamos, en Python sí, pero en definitiva lo que trabaja esa variable de esa forma, Félix, es generar otro tipo de datos que tiene Python, que son las tuplas, que nosotros vamos a ver creo que en la clase 5 o 6, que te permite de cierta forma generar. o que una variable pueda tener más de un valor asignado. O usando también listas o otro tipo de datos en Python, permite almacenar varios valores en una variable.

Pero lo vamos a ver en su debido momento. Lo que sí podemos hacer acá en Python es asignación múltiple y que después esto, ya cuando veamos también tuplas, vamos a terminar de comprenderlo. Yo trabajo con unas coordenadas, por ejemplo, digo la variable x...

Puedo poner coma, la variable y, coma, la variable z. Puedo yo usar esta notación, superando por comas y decirle, ok, quiero que x tenga el valor 23, y tenga el valor 65, y z tenga el valor 77. Entonces después yo si quiero puedo hacer acá un print de x, print de z. de y print de z entonces si yo guardo esto y le doy a play fíjense que me aparece 23 56, 77, no es que es un error de sintaxis o rompe mi código, sino que yo puedo hacer coincidir con esa asignación múltiple O también lo van a encontrar como de estructuración, como otro concepto que se aplica.

Pero tiene que ser con valores iguales, digamos. Si yo hiciera x y esto y quiero ejecutar, fíjense que me está diciendo que no se puede desempaquetar porque faltan variables. Porque acá yo tengo 3 y acá estoy diciendo que tengo...

Para guardar en dos variables. Entonces tengan en cuenta que yo puedo hacer este tipo de asignación. Siempre y cuando respete la cantidad tanto de variables que yo voy a crear como de valores que yo quiero asignar. Y esto no es que una variable puede tener más valores, sino que acá se hace como una correspondencia. X con 23, Y con 56, Z con 77. Entonces esto es posible.

Ahí sí puede ir espacios. Sí, aquí sí es recomendable que hayan espacios. Bien, puede ser ahí incluso. Esto. Colab, colab, colab...

Lleva. Ok, bueno, vamos a crear acá... Un texto, vamos a poner...

Función... Print. Que si bien la estamos viendo...

Vamos a ver que hace la función print. Aparte de mostrar por pantalla el valor de una variable o un mensaje. Bien, función print.

Entonces, la función print nos va a permitir a nosotros formatear lo que queremos mostrar como salida de nuestro código. Puede utilizar o tiene distintas formas de poder implementarse para poder mostrar un resultado específico. Y nosotros podemos combinar tanto texto como las variables que queremos o el contenido de las variables que queremos mostrar.

O combinarlos también con texto que queremos informar. entonces nosotros vamos a ver que Existen distintas formas de poder implementar nuestra función print. Y que en definitiva lo que estamos haciendo es formateando la salida o especificando cómo queremos que sea la salida de nuestro código por console.

Entonces acá ponemos función print. Puede formatear. Y mostrar información de varias formas.

Entonces, por ejemplo, yo tengo mi variable curso que tenemos acá, que era python inicial. Voy a poner la serpiente, aquí. Y vamos a poner acá la comisión, ¿no?

O queramos otra variable que sea la comisión y le asignamos, no sé, el valor 25204, que es la comisión. Entonces, yo podría, ¿no? Nosotros vivimos de usar print directamente con la variable, ¿no? Pero es muy probable que nosotros cuando mostramos por consola, yo no sé qué es FEDE, yo no sé qué es 25204, qué es esto, ¿no? Entonces nosotros podríamos llegar a informar, decir OK. ¡Hola!

Podría yo decir curso, dos puntos y que me escriba el contenido que tiene la variable curso. Entonces para eso yo, por ejemplo, en la función print podría decir, ok, creo un texto que sea, no sé, curso, dos puntos, espacio. Y si yo dentro de la función print, o sea, coloco, esto es un texto y seguido del texto especifico una coma.

Yo puedo agregarle valores que quiero que se muestren después de este contenido. Por ejemplo, entonces podría poner acá curso. Y puedo poner acá print.

Y podría poner comisión, dos puntos, espacio, coma y pongo la comisión. Entonces, sí, yo... Ejecuto esto, guardo, control S y lo guardo. Fíjense que en el momento de mostrar la función print, ¿qué hace?

Bueno, muestra este contenido y seguido de eso, fíjense que acá está el espacio que había dejado. El contenido de la variable curso, que en este caso es Python inicial. Y abajo pasa lo mismo con comisión. entonces Yo ahí estoy combinando la salida o formateando la salida.

Si bien nosotros acá habíamos visto que podía yo mostrar únicamente la variable o un texto. Yo acá puedo ir combinando esas dos situaciones. ¿A la variable cuando se la creo no tengo que presionar el tipo? No, no, no, no.

Ya vamos a ver los tipos de datos. Pero esto así como está. Nosotros creamos la variable. Le asignamos un valor. Y automáticamente Python detecta, dice, ok, esto está entre comillas, puede ser un texto, esto no tiene comillas, tiene forma de un número, es un número y así dio.

Y inclusive podemos ver que, no sé, si yo acá curso, le asigno otro valor. Fíjense que me está mostrando como le hice hace rato. mostrar el último valor que tiene el curso.

Y no es que me rompió mi código, como no sé, otro lenguaje de programación que uno le dice ok, esta variable tiene que ser texto, únicamente de texto. Y si yo le asigno un número, eso es otro lenguaje de programación, por ejemplo, Java o C Sharp. No, no puedes asignarle un número.

Me dijiste que esto era texto y para mí va a ser texto. Entonces, se rompe el programa y no deja avanzar. Cambio acá, Python dice ok, me asignaste Gracias. Nos parece que son números. Ah, ok, bueno, yo voy a tomar que es un número.

Ah, me asignaste, entre comillas, contenido de comillas. Ah, ok, es una cadena de texto, un string. Entonces Python no te hace ese lío.

Sí te va a hacer lío después cuando querramos ahí operar de cierta forma. Pero bueno, no te da una restricción de decir, ok, no mezcles variables o tipos. Ya vamos a ver los tipos.

Esta es una opción de poder formatear como un uso básico que yo podría hacerle de combinar. O inclusive podría yo tener acá un print, comillas, curso, dos puntos y hago curso, coma. Podría ponerle acá un espacio, comisión.

Dos puntos, espacio. Entonces en la función print, fíjense que esto es como que se va uniendo. Yo lo podría hacer con comas, separando los valores. Y que es una opción, fíjense que me dice curso. Entonces de cierta manera yo estoy formateando la salida a un...

Para la redundancia, un formato que yo necesito de forma específica. Disculpen, tengo que retirar el zoom. Ok, no hay problema Maxi.

Buen día, sí. Dentro de la declaración me pide dejar una línea de separación. Ya que si la coloco en líneas continuas me indica el rol. Bien. Bueno, para eso existe como...

caracteres especiales que, bueno no sé si por ejemplo quisieran yo poner print de, no sé texto y quiero poner un salto de línea, bien, podría yo poner la barra n, si y acá pongo otra línea barra n, línea nueva. Entonces por cada barrita n, fíjense que me aparece texto, otra línea, línea nueva. Pero hay un espacio acá porque bueno, yo dejé el espacio. Si ustedes lo borran ahí, fíjense que esto también me formatea.

De cierta forma ahí la salida. Esto es con barra n puedo hacer un salto de línea dentro del tecto. ¿Por qué este video curso y comisión dos veces y luego del print?

No, acá es otra forma. Esto es como otra forma, otro formato de salir. O sea, quise hacerlo por separado así, digamos, o puedo hacerlo todo junto. Todas las cosas que vos separes con coma dentro del print, es como que se van a ir mostrando una al lado de la otra. Eso es lo que hay.

O aquí en este caso si querían agregar un salto de línea con barra N lo pueden agregar. O si quieren pueden tener tabulaciones con barra T. Pueden hacer print, texto con barra T.

tabulaciones, otro tab. Fíjense que va dejando como tabulaciones o tab. Con barra T.

No entendí el formateo con el print. Lo que sí entiendo es cómo es cuando agregas un print. No va a tomarlo como variable, sino como string.

No, o sea, a ver, cuando el print es salida de tu programa. Entonces, muchas veces nosotros cuando tengamos que hacer una operación o hacer algo, tenés que informarle el resultado al usuario. Entonces... Yo tranquilamente, no sé, podría sacar esto y ponés ahí.

Yo quedo también, imprimirme la comisión porque tenía que devolverle la comisión al usuario. El usuario va a leer 25204 por consola. ¿Pero qué es 25204? Un número, no sé. Entonces, muchas veces vos...

por buenas prácticas en cuanto a diseño y a experiencia de usuario, uno debería indicarle al usuario qué es lo que estás mostrando. Entonces yo aquí le estoy diciendo que la comisión es dos puntos. Entonces esa salida es un poco más legible para decir que la comisión es 225 o 204. Ah, bien. Sé que este número es la comisión y...

No sé, el número de... No sé, una licencia de algo. Qué sé yo.

Transforma el dato en información exacta. Creo que es porque tira curso y el otro a la variable. Por eso, esto es texto y esto es la variable. Si yo ponía, no sé, en inglés.

Si ustedes le ponen course en inglés y usan la variable ahí. Course. Course.

Bien. Una cosa es el texto que vos querés agregar a tu salida y otra es la variable que se muestra ahí el contenido. El espacio es solo...

Sí, pues si yo no pongo espacio acá, por ejemplo, fíjate que en la salida te pone... Ah, ok. No, bien. Igual te pone un espacio. Fíjate, ok.

Igual te pone un espacio. ¿Por qué esto también? Una cuestión del print que se me olvidaba.

Es que automáticamente a medida que uno agrega valores separados entre coma. Le asigna un espacio entre medio digamos. O una separación. Que por defecto es el espacio en...

...en blanco. Cuando ustedes agregan valores, así, este texto, coma, la variable, coma, este texto, coma, la variable... En definitiva, la separación en sí, fíjense que...

...más allá de que yo no le indique el espacio acá... ...en la salida me coloca un espacio. Yo puedo cambiar esa separación por defecto agregándole un atributo dentro de la función print que por ejemplo sea coma set igual a el carácter que quiero que sea el separador por defecto. concepto por ejemplo yo puedo indicarle que Ahora ya no va a haber espacio, sino que, fíjense que curso-bajo, dice Python-bajo, comisión, dos puntos-bajo. Entonces acá, concept, puedo cambiar la separación por defecto.

Que por defecto es el... La... Mira, ahí lo copié en... En...

En la notebook. Para que lo tengan. Que si yo quiero...

Puedo cambiarlo. O inclusive... No sé, podría poner el... Barra N. Y acá lo que va a hacer es que... Va a separar la separación de curso, fíjate, curso, después le sigue la variable, después le sigue este texto que está acá, después le sigue la comisión que es esto que está acá.

Porque yo especificé la separación con un barra. Bien. Ya les comparto, a ver de nuevo. Ahí está, bien Dolores. Profe, aprovecho, ¿puedo hacer una pregunta?

Bueno. ¿Profe? Sí, sí, ahí está.

¿Puedo hacer una...? Sí, decime. Sí. Es un poquito de lo que hablábamos antes, pero cuando explicaste la diferencia entre Python y C++ y Java... lo que no te permite hacer es cambiar el tipo de dato o sobreescribir cualquier dato.

Bien. No. En Python no es que tiene una restricción en sí el manejo de los tipos de datos. Y eso me da pie a hablar ya de los tipos. Sino que...

lo decide en el momento que va ejecutándose las líneas, línea tras línea. Entonces, cuando va leyendo, instrucción 1, 2, 3, llega acá, dice, ok, curso, le tengo que asignar este valor. Como este valor tiene comillas dobles, dice, ok, esto es un string o una cadena de texto, entonces esta variable va a tener el tipo de dato cadena de texto o string.

Que vos después, más adelante, en el transcurso de tu programa, puedas cambiar ese valor. En vez de ser un texto, después vos le asignas un número u otro valor. Bueno, esa variable ahora va a cambiar su tipo de dato y ya no va a ser más texto, sino que va a ser dependiendo del valor que le asignas.

Ahora, si vos después usas en tu código esa variable que inicialmente fuera un número, por ejemplo, y vos estabas haciendo operaciones matemáticas con esa variable. Y después le asignas, no sé, un texto y querés volver a hacer las operaciones matemáticas sobre esa variable. Y es muy probable que en Python te diga, ok, para no puedo multiplicar o no puedo dividir un texto con un número. Entonces ahí va a saltar el error recién. No así en el problema de haberle sobrescrito un valor con el cual no inició en su momento.

Que a diferencia de otros lenguajes de programación, vuelves a restringir. y decir ok, esta variable toda su vida tiene que ser número y toda su vida tiene que ser texto, ¿no? Otra.

Entonces si vos le asignas por algún accidente de forma accidental, le asignas un texto a esa variable que toda su vida tiene que ser un número, bueno, el lenguaje de programación te va a decir no puedo, rompemos acá y no estoy preparado para aceptar esa situación, a menos que, bueno, después vos valides y hagas validación y todas esas cuestiones que hacen a que tu programa sea más robusto, obviamente. Que lo vamos a ver nosotros en Python. Bien.

Una preguntita, no alcancé a entender lo de CEP, lo de CEP no está actuando como una variable ahí, está actuando como una palabra reservada que hace referencia a un espacio entonces? Exactamente, CEP es una propiedad de la función print, que no es una variable en sí que nosotros creemos, sino que es propia de esta función, que te permite entonces cambiar el separador por defecto. que trae print, que por defecto fíjate que era el espacio que automáticamente a cada vez comisiones dos puntos y le agregaba ese espacio a lo que le acompañaba, entonces ¿y cómo podemos ver todas las palabras reservadas que tenga un comando un comando como print? bien una opción muy Bien. rápida y es decir, ok, fíjate que cuando pones el mouse sobre la función, sale como la documentación de la función, te dice qué hace, para qué sirve, y los valores que puede llegar a aceptar, set, end, para si quieres cambiar el separador, o sea, el carácter final, y esta es, bueno, file, flash, que habría que ver en la documentación, si no. y que eso podes acá, python documentation tuque python documentación y acá pones print y acá tenes en detalle lo que hace la función print, que valores recibe, que valores puede aceptar, entonces eso siempre que necesiten como extra o adicional para investigar y saber qué es lo que hace una función por defecto en Python o en cualquier lenguaje es ir a leer la documentación.

Porque hay muchas cosas que por ahí usamos lo básico, pero puede ser que traiga cosas más interesantes a la hora de... No sale lo de C. ¿Podrías repetir la aplicación?

Me da un error en mi... No, fíjate que, a ver, esto lo copio en el colab para que tengan ahí el código. Tengan en cuenta esto nada más, que es ZEP igual, ZEP coma ZEP igual y el texto o el valor que ustedes quieren que sea separado. Guión bajo, dos puntos, guión alto, no sé. Y si no lo colocan, el valor por defecto es el espacio en blanco.

Bueno, avanzamos. Igual todas estas cositas creo que están en la presentación y aún pueden ir a ver en detalle las otras alternativas de la función print. La puse probando CEP, segunda palabra, la puse así y me salió... No, es que no es print igual. Es print solito.

no es print igual, es print así, ahí apareció, corazoncito, bien, es print, ahí, bueno Vamos con, si bien ya lo fuimos hablando un poquito, los tipos de datos. Para eso me creo un nuevo archivito acá, tipos-datos.py. Y acá vamos a ver los tipos de datos primitivos.

A ver, tenemos por un lado... los tipos de datos primitivos vendrían a ser quedando en archivo, borras sin querer la carpeta entera Bueno, Juan, no pasa nada. Tenemos cuatro tipos de datos como primitivos o generales, que sirven para cualquier lenguaje de programación también, que son la cadena de texto o string, los números enteros, los decimales o flotantes, y los valores lógicos.

o booleanos. Bien. Entonces tipo de dato va a poner string o cadena detecto. Entonces esto ya lo habíamos visto. No sé.

Nombre. ¿Sí? Igual a Rogelio. Rogelio.

Y apellido. Voy a poner, puede ser simple. Las cadenas de texto, ustedes las van a poder encontrar como comillas dobles.

Todo el contenido que esté englobado entre comillas dobles va a ser una cadena de texto. O lo que esté entre, voy a sacar esto para que no se confunda, o entre comillas simples. Eso, ustedes lo pueden manejar. O inclusive también entre comillas triples que veíamos los comentarios. Pero también.

Después lo vamos a ver, no se preocupen. Dejemos por lo pronto ahí. Comillas dobles o comillas simples. Esto Python lo va a identificar como texto.

O como un string. Hay una función de Python que se llama type. bien que me permite a mí obtener el tipo de datos de una variable y bueno yo lo voy a combinar acá con print y voy a ponerle nombre es del tipo coma y voy a decirle type no y me voy a Copiar todo esto, control selecciono, o estos son atajos, si ustedes se posicionan sobre la línea y hacen control C, control más C, como de copiar, control más C.

Y se posicionan abajo y hacen control B corta, fíjense que... control más, me corta, automáticamente le copió toda la línea arriba sin tener que seleccionar y hacer con copiar, pegar, digamos, eso es un atajo bastante útil. Se posicionan sobre la línea donde sea, control c, y después van abajo, control b, y ya lo pegan, se pega toda la línea.

Entonces muchas veces nos sirve para apellido, que es del tipo, voy a poner acá. Apellido. Bien, entonces si yo ejecuto esto, nos dice, ¿no?

El nombre es del tipo class str. Bien, este type nos está indicando el tipo de dato que lo define o que encuentra para esa variable. El apellido es del tipo también str. Bien, más allá de que sea comillas dobles o comillas simples.

La forma en la cual detecta Python, recuerden, de forma dinámica, instrucción, instrucción, es el tipo str, o string, o cadena detecto. Acá voy a agregar un bloquecito, así les pongo, tipos de datos. Y acá les copio.

¿Bien? Tipo de dato primitivo, cadena. Y da para que vayan a verlo. Entonces, nada, eso. Recuerden, todo lo que sea entre comillas dobles o comillas simples, Python lo va a considerar como una cadena.

Ahora, otro tipo de datos que tenemos son los enteros. Enteros o int. ¿Bien? ¿Qué son los números entre los positivos o negativos sin decimales? Entonces, no sé, podría tener acá la edad, no sé, 25, no sé, cualquier...

La comisión, le decíamos, ¿no? Podríamos dejar que sea un número ahí 204. Otro número igual a menos edad. Todo lo que sea un formato numérico entero, sin una parte decimal, va a ser considerado entonces un entero. Yo podría poner acá, me copio esto y lo pego acá. Voy a poner edad, es del tipo edad.

Para que ustedes vean, que si yo ejecuto esto, fíjense que me dice edad es del tipo class int. La variable edad es del tipo class int, que me indica que esto es entero. Entonces, para definir una variable del tipo entero, solo basta con asignarle un número que tenga ese formato de entero, sin parte decimal. Ahora, por ejemplo, si yo... A ver...

¿Puedo hacer una pregunta? Sí, sí. Una consulta. ¿Por qué se pone apellido es del tipo?

Eso es lo único que no entiendo. ¿Por qué se pone es del tipo? Ah, no. Esto es un mensajito que yo quiero mostrarles a ustedes.

Le agrego esto. Como para que ustedes vean por pantalla acá ese texto, digamos. Tranquilamente, yo tranquilamente podría haberte dicho... Hago un print del type, apellido, y vas a ver solo class str. Pero también, creo que, no sé, pedagógicamente para vos mostrar esto, no sé qué te dice que crees que es str.

Es un texto que estoy agregando yo ahí como para mostrarles a ustedes que la salida es esa. Pero es esto lo del print que acabamos de ver acá. Nosotros podemos agregar... contenido extra para facilitarle al usuario lo que quiere o que representa o lo que quiero mostrarle. Gracias, profesor.

No, bien, de nada. Ahora, precisamente, justamente para eso, fíjate, ahora voy a cambiar, ¿no? Apellido vale Pérez y en la línea 5 apellido vale 4565. No sé, porque me agarró amnesia y estaba dormido y escribí cualquier cosa y apellido le asigné 4565. Entonces vamos a ver que si yo ejecuto esto, fíjense, me dice, bueno, nombre del tipo es STR. Sí, está bien, Rogelio, entre comillas, es STR.

Pero dice, apellido es del tipo class int. Porque esta línea me está mostrando el tipo. Y pasó esto, lo de tipo dinámico.

Y empezó con texto, porque acá apellido Pérez es cadena de texto. Pero después, no sé, acá porque me volví loco, puse apellido igual a 4565. Y fíjense que ahora Python considera que apellido es del tipo entero. Bien, entonces esto es el concepto de tipo dinámico. A una misma variable yo puedo cambiarle el tipo y Python la resuelve dependiendo del contenido que tenga.

Puede ser que si yo a esto lo borro o lo comento acá si quieren. Fíjense que apellido ahora vuelve a ser del tipo str porque su valor es un string. Acá voy a poner cambia el tipo a int. Entonces tengan mucho, mucho, mucho, mucho, mucho cuidado a la hora de mezclar esas cuestiones. Porque no es que me generó un error, sino que Python lo resolvió en el momento de ejecución.

Un armador de filo, dice. Bien, exacto. Bien, entonces, después tenemos los flotantes o decimales que vendrían a ser... Nada. números con coma decimal.

Entonces, no sé. Pero bueno, en este caso no es que es la coma así como nosotros, sino que es el punto. Altura, no sé, 1.67.

Precio, tukituki, tukituki. A ver, tiene ciertas limitaciones en cuanto a la cantidad. de cifras decimales que uno puede poner después inclusive.

A ver, yo me voy a copiar acá. Esto, voy a poner precio, es del tipo precio. Bien, fíjense que me dice precio, es del tipo float. Altura también sería del tipo float.

Todo lo que tenga punto, va a ser del tipo float. Más adelante podemos ver todas estas consideraciones en cuanto a cuántas y cuantas decimales y toda esa cuestión. Pero con que detecte que se le asigna un número con punto decimal, automáticamente para Python es un flotante. Sin punto decimal es un entero y con punto decimal es un flotante. Si yo combino y hago, no sé, una suma entre el número entero y un número decimal, bueno, el resultado va a ser decimal también, digamos.

En ese caso puedo yo combinar operaciones con números ya sea enteros o decimales, el resultado siempre va a ser después decimal. Pero no voy a poder mucho combinar operaciones de texto con números. Eso nos va a llevar... Otra situación en la cual nosotros tenemos que convertir los tipos de datos para que sea de cierta forma, se pueda homologar y no pueda ocurrir algún error en cuanto a operaciones entre distintos tipos de datos.

Entonces hay que tener cuidado. Y el otro es el booleano o lógico. Lógico, booleano. Y que es, bueno, o sea, es programador, igual a, puede ser true, o, no sé, es futbolista, igual a, no sé. Creo dos variables y le asigno, esto es el verdadero, digamos, valor lógico verdadero, o cero, o en este caso uno.

verdadero o 1 y esto false o falso o 0 entonces yo puedo poner acá bien es programador el type para que vean que me dice es programador es del tipo bool Es un valor lógico, lo considero como lógico. Y estas variables lógicas después nos van a ayudar a la hora de tomar decisiones. O existen operadores lógicos que nos permiten combinar valores de verdad con falso o negar y todas esas cuestiones que lo vamos a ver en la próxima clase.

para operar y obtener algún valor resultado. Sí, si no lo entiendo, es para que Python sepa. ¿Qué?

Dos y media. Cuidado con los micrófonos, es caro el porro. Bien. Bueno.

Y... Ahí estamos entonces. Eso vendrán a ser los tipos de datos primitivos. Que a lo largo después de la cursada lo vamos a ir utilizando. Ahora, como algo también importante a la hora de...

Y con este tema termino y... Y ya la próxima clase retomamos un poquito más. Igual en la presentación van a encontrar operadores matemáticos y aritméticos que podemos retomar la próxima clase.

Es que hasta ahora nosotros manejamos los tipos, manejamos la función print que es para poder mostrar una salida por consola. Pero existe una función que es input, que la función input en definitiva lo que nos va a permitir se usa para leer datos desde el teclado. O sea que el usuario ingresa por teclado valores. Lo que hay que tener en cuenta es que siempre va a devolver el tipo string o str.

Todo lo que el usuario ingrese por teclado en la consola. Va a ser del tipo string. Entonces por ejemplo yo puedo tener nombre.

Igual. Y le pongo la función input. Esta función input. Acepta una cadena de texto.

Que puede ser el mensajito. Que le va a salir por la terminal. Y que bueno.

Esto nuevamente. Siempre piensen en el usuario. Y sean amigables con el usuario. Entonces solicitenle acá. Si yo estoy pidiéndole el nombre.

Luego no sé. Ingresa tu nombre. Esto por ejemplo va a ser el mensaje que le va a salir al usuario y va a quedarse a la espera de que el usuario ingrese un valor por el teclado. Acá por ejemplo, voy a poner número 1, input. ...no?

Por ejemplo, ingresa un número. Entonces esto es lo que va a mostrarle por pantalla al usuario para que ingrese valores. Entonces yo después acá podría hacer un print. Tu nombre ingresado, dos puntos, nombre.

Y print número 1, dos puntos, número 1. O sea, esto es lo que el usuario me va a ingresar y acá estoy mostrando lo que el usuario ingresó después. Vamos a limpiar la terminal. Fíjense que acá el código no avanza.

El código queda expectante a que yo ingrese un nombre. Me dice ingresa tu nombre. Entonces yo voy a poner... ...Ederito...

...y le pido el nombre, le pido el apellido. Bien, entonces... ...esto yo estoy pudiendo ingresar yo, digamos, acá todo esto por teclado. Cuando le de enter...

Lo que va a pasar es que, ok, esto que leyó acá se lo va a asignar a la variable nombre. Entonces por eso devuelve este valor que leyó o que el usuario ingresó y se lo va a guardar a la variable nombre. Entonces ahora después viene acá y dice, ok, ingresa un número. Entonces yo puedo ingresar acá 77. Entonces ese valor se lo va a asignar a la variable número 1. Entonces me dice, tu nombre ingresado es Federico Ligui, que es el que yo había puesto.

Y por ejemplo, número 1, me dice número 1, 2.77. Entonces, yo de esa manera estoy de cierta forma interactuando con el usuario, solicitándole datos para que... ...lo puede ingresar.

Entonces... ...yo podría... ...no sé...

...pedirle... ...otro número. Lo vamos a ver la próxima vez. Lo que les quería comentar acá... ...es que, bueno, si nosotros ponemos...

...acá yo voy a poner... ...número 1... ...del tipo...

Y le pongo type número 1. Quiero que ustedes puedan ver que... Vamos a poner José, número 1, 88. Dice, número 1 es del tipo class str. Entonces, aquí ya nos enfrentamos al primer problema que vamos a... posteriormente ir estudiando y es que bueno, cuando el usuario ingresa un valor con la función input esto automáticamente lo toma como un tipo de dato en detecto por lo cual Si yo, por ejemplo, después tendría que hacer, no sé, acá hago, no vimos las operaciones, pero no sé, si hago una división y hago número 1 dividido 2. Bien, no. Si yo, por ejemplo, ejecuto esto en ese nombre, pongo números 88. Fíjense que acá me está ya dando un error porque me dice ok, división no puedo, número 1 no puedo dividirlo en 2 porque es del tipo string.

Por lo cual aquí si bien el tipado es dinámico, lo asignó en el momento que se le dio el valor 77 que más allá de que, yo le di 88, pero más allá de que es un número. Esta función input devuelve siempre un string. Entonces la variable número uno es del tipo str.

Por lo que si yo quiero hacer alguna operación. Eso. Python va a decir ok, no puedo yo dividir un string con un número. Y tenemos nuestro primer problema que esto después vamos a ver que se resuelve usando conversiones de tipo de dato.

Para que nosotros podamos convertir adecuadamente este valor que tiene un formato de número. Y que lo podríamos nosotros convertir a un entero, a un flotante o a un decimal para que después se puedan hacer las operaciones. Bien, ahora esto lo vamos a poner acá. Función input. Y vamos a agregar acá.

Esto se los voy a comentar. Esto, error. Y acá se los dejo también comentados.

Bien. Bueno. A ver, en la presentación lo que van a encontrar, aparte de los tipos de datos, están las conversiones y los operadores geométricos que ustedes pueden hacer suma, resta, multiplicación, división, que hay.

puede probarlos como para trabajarlos. De igual manera lo retomamos en la próxima clase y bueno, vamos a ver cómo solucionamos este problema de manejo de tipo de datos porque bueno, nosotros vamos a necesitar convertirlos para poder operarlos. Así que no los quiero sobrecargar o dar cosas a las apuradas genial no, igual profe una pregunta, después la clase se puede volver a ver? si, yo la estoy grabando así que ahora termino corto la grabación y la subo a youtube Este código se los comparto en nuestro drive, en nuestra carpeta de Google Drive. Acá yo voy a crear clase 2. Le subo el código de la carpetita que estamos viendo en Visual Studio Code.

Y el cuaderno de Colab para que tengan otra opción. Y la presentación. Bueno, quizás me fui un poco lento, pero bueno, después ustedes me dirán.

Muy buena, profe, la clase. Perfecto. Está re bien así, profe, porque son temas como complejos, así que está bueno que vayas lento, así mejor.

Ok, ok. Buenísimo.