Introducción, parte cuatro: Python para todos.
Ahora comenzaremos a aprender sobre el lenguaje Python, y pueden ver esto como si hablaran directamente con Python.
Y, resulta, hay un método en la mayoría de las computadoras, ya sea una computadora con Windows y líneas de comando, o una máquina Macintosh o Linux, para iniciar con Python, y si arrancas Python, este aceptará, de manera interactiva, los comandos que puedas escribir.
Y tienes que escribir Python en esto, le llamamos chevron prompt.
Pero también encaja de un modo en el, ¿qué sigue?, así que Python dice, "bien, ya estoy aquí, puedo manejar cualquier sentencia que puedas enviarme, y estoy listo para hacer lo que sea que tengas que hacer.
No sé qué hacer, necesito que me digas qué hacer." Entonces, puedes escribir una serie de sentencias en Python, y así que lo primero que podrías escribir es una sentencia de asignación, 'x' es igual a uno.
Entonces, ¿qué está sucediendo aquí? Esta sentencia de asignación a menudo confunde a muchos cuando pasan de las matemáticas a la programación.
Un signo de igual tiene una especie de dirección, es una flecha.
En realidad dice, "Querido Python, tienes mucha memoria." "Tienes mucha memoria, toma un pequeño pedazo de esa memoria y no lo olvides, y llámalo x." "Quizás lo use, lo usaré más tarde, y pon un uno en ella." Es como decir, "agrega un uno a un espacio en la memoria, y llámalo x." "Imprimir x" dice, "toma lo que tenga ese pedazo de memoria, tráelo aquí y dime lo que puse en ella." Ahora, esto es algo redundante, pero usualmente haremos algo más complejo que esto.
Pon algo en la memoria, luego tómalo.
Esa es la primera parte.
Ahora, lo que está haciendo es, esta es una expresión, y dice, toma lo que sea que esté en x, en este caso un uno, y luego añádele un uno para convertirlo en dos, y luego ponlo de vuelta en x.
Entonces esto añade uno a x, y luego lo imprime, y es un dos, luego salimos.
Ahora, si escribimos algo mal aquí nos dará un error de sintaxis.
Y Python solo te dirá, "error de sintaxis, error de sintaxis." y así sucesivamente.
Pero, esto somos nosotros hablando con Python, Entonces, ¿qué le decimos a Python? Puedes ver esto como si escribieras un ensayo, donde inicias, y si recuerdas cuando estabas aprendiendo el alfabeto, y luego usas el alfabeto para producir palabras, y luego usas las palabras para generar oraciones, y luego combinas las oraciones para formar párrafos, para finalmente tener una historia.
Y, aquí haremos casi lo mismo.
Este es el programa que escribiremos al final, y no te preocupes por entender lo que hace esta historia, hablaremos de esto más adelante, y regresaremos a esto varias veces durante el curso, esta es una historia de Python sobre contar las palabras en un archivo de Python, ¿correcto? Esto resuelve el problema que les pedí que resolvieran hace poco, sobre qué palabra es la más común y cuántas hay.
Y retomaremos esto varias veces durante este curso.
Así que si iniciamos con el vocabulario, lo primero que tenemos en cualquier lenguaje de programación es algo que llamamos palabras reservadas.
Ahora, ¿a qué nos referimos con palabras reservadas? Bueno, son palabras que si usamos en conjunto con otras, debemos usarlas de modo que signifiquen aquello que Python espera que signifiquen.
Dicho de otra forma, no la podemos usar de otro modo.
No podemos crear una variable llamada "importar", no podemos crear una variable llamada "afirmar", porque si Python ve "afirmar", significará algo muy específico.
Así que si ve un "si", significa algo, si ve un "para", o "pasar", o "mientras"...
¿dónde está "mientras"? Oh, aquí está.
Estas significan algo.
La mejor forma de ver esto es la siguiente, Python es como un perro, y si le hablas a un perro le dices, "Oye, perro, ¿qué te gusta más, Bach o Beethoven?" El perro solo escuchará un bla-bla-bla, no le importará, y luego le dices, "Hola Spot, ¿qué te parece el clima de hoy?" "¿te gustan más los atardeceres o la lluvia?" Y una vez más el perro escucha, bla-bla-bla.
Y luego le dices algo así como, "¿Crees que es hora de ir a dar un paseo?" y el perro piensa, "¡Paseo! ¡Entendido!" El perro te ha escuchado todo este tiempo, y casi todo eran bla-bla-blas, pero "paseo" es una palabra reservada para un perro, ¿bien? "Comida, premio", esas son palabras reservadas para perros.
Son muchas cosas, puedes decirle lo que quieras a un perro, y son de buen oído, ¿cierto? Pero, cuando le dices una palabra reservada, y dices paseo, y no le cumples, el perro te molestará por un rato.
Entonces, puedes pensar lo mismo de Python, cuando Python ve global, o "desde", o "para", dice, "¡vaya!" Esa es una palabra importante para Python, y será mejor que la uses como que Python espera que la uses.
Las oraciones son líneas.
Y por lo tanto, al escribir un programa, estamos escribiendo un archivo de texto, y ponemos una línea, y otra línea, y otra, cada una de ellas es como una línea aparte, y tenemos que escribirlas correctamente.
Y luego componemos un párrafo hecho de una serie de líneas.
Así que, en este ejemplo particular, tenemos otra sentencia de asignación que le pega el número dos a la variable x, recuperando ese dos y añadiéndole dos una vez más, y pegando esa suma de vuelta a x, "imprimir" es una función y existe un parámetro x, y eso va a causar que se imprima el número cuatro.
Entonces, usamos operadores, a este más se le conoce como operador, al signo de igual se le conoce como operador.
Este "imprimir" es realmente una función, este es un parámetro que se introduce a la función.
Entonces, existe una serie completa de diferentes tipos de sintaxis que utilizamos para producir las líneas que tenemos que producir.
Ahora, empezamos a combinar las líneas para crear párrafos, y crear un poco de sentido.
Por lo tanto, ese Python Interactivo donde hablas con tres chevron prompt, eso es divertido, y es divertido empezar y escribir "'x' es igual", y "'x' es igual" da 'x' más uno, lo que sea, pero no abuses, y veo a estudiantes a menudo, intentan escribir programas completos con eso, y se vuelve un tanto frustrante, porque debes escribir todo perfectamente de principio a fin.
Es mucho más frecuente escribir algo en un archivo.
Una vez que tengamos, quizás, más de tres líneas de Python, solemos usar simplemente un editor de texto de programación, como Atom o similares, y ponemos todo en un archivo, y le decimos a Python, comienza desde el inicio de este archivo y que luego lea desde el archivo.
A esto le llamamos un Script, o un programa de Python, y en Python le solemos llamar a ese archivo ".py".
Y, algunos editores de texto, como el editor de texto Atom, el cual es uno que recomiendo, cuando usamos un archivo que termina en ".py", resalta el sintaxis y les da colores, lo deja bonito y te ayuda a comprender, y a veces te guía a través de los errores de sintaxis, y los errores que tienes.
Y así, los Scripts son conjuntos de instrucciones guardados en textos que le podemos dar a Python para que los ejecute.
Y, tengo una colección entera de videos que más o menos te guían para instalar Python, hacer cosas de forma interactiva y luego escribir un Script, y ejecutar desde el Script.
Así como se los mencioné, puedes usar el Python Interactivo, o puedes ejecutar un Script, y un Script es mucho más común, después de los primeros 15 minutos, puedes hacer cualquier cosa con un Script.
Entonces, ¿qué le ponemos a ese Script? Bueno, es una serie de pasos.
Ahora, existe una serie de patrones básicos que podemos usar y los componemos, el patrón más básico es al que llamamos Secuencial.
Hacemos una cosa, luego hacemos la siguiente, y luego hacemos la que sigue.
El Condicional es cierto modo inteligente, donde haces algo, y luego puedes o no estar haciendo algo.
Hacer, hacer, hacer, algo, algo, algo.
Quizás no, quizás, y por eso tienes este If.
Si esto es cierto, haz la sentencia, si es falso, haz otra sentencia.
Estos se llaman Pasos Condicionales, y en breve les mostraremos cómo son.
Y entonces, el poder real de las computadoras viene cuando les decimos que hagan algo una y otra vez, un millón de veces si es necesario, y ahí es cuando tenemos una serie de pasos que deben repetirse.
Y luego el cuarto patrón es el patrón de almacenar y recuperar, el cual visitaremos en el Capítulo Cuatro.
Entonces, este es un ejemplo de un programa de Python de cuatro líneas, el cual tiene cuatro pasos básicos.
como si escribieras estas cuatro líneas en un archivo, y luego le pides a Python que las ejecute.
Python añadirá el dos en la variable x, y luego lo imprimirá, nuestro producto será el siguiente, le añadirá el dos, y luego lo imprimirá de nuevo, y se convertirá en cuatro.
A esto de aquí le llamamos diagrama de flujo, yo realmente no los hago escribir diagramas de flujo, en el pasado nos hacían escribir diagramas de flujo.
No estoy seguro de de que sea algo de valor.
Lo que intento mostrarles es la secuencia de las cosas.
Si ejecuta esto, hace algo, luego avanza al siguiente paso, hace esto, luego avanza al siguiente paso, hace esto, luego avanza al siguiente paso.
Eso significa, cuando terminas con una sentencia, ¿a dónde irás ahora? Bueno, en este caso, es la cosa más simple de todas donde iremos de un lugar al siguiente.
Ahora, se vuelve más interesante cuando hacemos Pasos Condicionales, y la cosa que los vuelve Condicionales es este "si".
Bien, la sentencia "si" es una palabra reservada, ¿Ok? Por lo tanto, verán, empieza desde el inicio, y el "si" tiene insertada ahí una pregunta que nos lleva a un cierto o falso, termina con dos puntos, y luego está un bloqueo previsto.
Y, lo que sucede es que esto es una sentencia condicional.
Imprimir menor es la sentencia condicional, se entiende que si 'x' es menor a 10 se evalúa como cierto, entonces va a ejecutarse, de otro modo se omite.
Entonces, se puede ejecutar, y continuar, o se puede omitir por completo.
Por lo tanto, probablemente sea más fácil mostrar esto en este diagrama, donde inicias con un 'x' es igual a cinco, luego inicias la sentencia "si", y la sentencia "si" hace la pregunta.
Si la pregunta es cierta, seguirás un camino, y si es falso irás por otro camino.
En este caso, 'x' es cinco, así que es cierto, por lo tanto seguimos este camino e imprimimos menor, y luego nos reincorporamos, y la siguiente cosa que vemos es otra sentencia "si".
¿Es 'x' mayor que 20? Bueno, en este caso, es un no, porque no es así, porque 'x' es cinco.
Así, hacemos la pregunta.
No estamos cambiando a x, simplemente preguntamos por x.
Así nos saltamos esto.
Así, la manera en que este código se ejecuta finalmente, es que inicia, ejecuta esto, avanza en orden hasta aquí, ejecuta condicionalmente este código, y luego lo omite por completo.
Así, este código nunca se ejecutó.
Y, ese es un ejemplo bastante sencillo, entonces el producto es menor, y luego "Termina", y es bastante sencillo, y lo que descubrirán es que componemos estas cosas para hacer programas más complejos.
Entonces, el Condicional es el segundo de los tres patrones que veremos.
Ahora, el patrón más emocionante es la Repetición, y parece un poco más atareado porque haremos más cosas con él.
Entonces la idea básica es que hay un par de palabras bucle diferentes.
Palabras reservadas, el "mientras" y el "para", el bucle "mientras" dice básicamente, funciona más o menos como una sentencia "si" ya que tiene una pregunta dentro, no afecta a 'n' y no se ve alterada por esto, simplemente mira a 'n' y pregunta, ¿'n' es mayor que cero? si es cierto, entonces ejecuta este código.
Así, al igual que "si", hasta aquí es igual a "si".
Si 'n' es mayor que cero es verdadero, ejecuta este código.
Ahora esta es una parte Secuencial.
Cuando terminamos con esto, ¿qué hacemos ahora? Oh, simplemente avanzamos al siguiente.
Ahora, notarán que esto está planeado al mismo nivel que la sentencia de impresión, y así es como tenemos repeticiones o incluso sis con más de una sentencia en ellos.
Y entonces, le quitamos sangría que está al final del bucle, y lo que pasa es que ejecuta esto, y ejecuta esto, ¿pero luego qué es lo que hace? Bueno, está al final del bucle, así que ahora regresará al inicio del bucle, y regresa a hacer la sentencia "mientras", y también lo hemos impreso, dándonos un cinco, y luego 'n' se volvió un cuatro, y luego revalúa esta pregunta, ¿cuatro mayor que cero? Así es, así que imprime un cuatro, y luego resta le uno y se convierte en tres.
Ahora, ¿tres es mayor que cero? Así es, es mayor.
Por lo tanto avanza de cuatro a tres, dos, uno, luego hace lo suyo e imprime uno, y luego le resta uno y se convierte en cero.
Ahora vuelve a hacer esta pregunta, ¿cero es mayor que cero? Ya que 'n' se a convertido en cero por las interacciones sucesivos en este bucle.
Así que 'n' no es mayor que cero, así que cambia de verdadero a falso.
Y falso, deja, omite y se sale del bucle.
Así, por aquí, va de cinco a cuatro, tres, dos, uno.
Y ahora ahí viene, ¿ok? Y en cuanto esto se vuelve falso, entonces este bucle termina.
Y así es la manera en que le decimos a un programa, le decimos a la computadora, que queremos que continúe hasta que algo suceda, hemos logrado algo, quien sabe qué es lo que estemos haciendo.
Ninguno de estos programas tiene sentido particularmente, solo estamos dando pasos pequeños, ¿ok? Ahora, los bucles tienen la idea de variables de repetición, para asegurarse de no tener bucles infinitos, y esta variable 'n' está diseñada con cuidado para iniciar, y ser revisado, y luego cambiar cada vez que pase por el bucle, y así es como nos aseguramos que el bucle solo se ejecute cinco veces y no para siempre.
Porque pueden construir lo que llamamos bucles infinitos, que corren para siempre, pero no son prácticos, solo se les acaba la batería o algo así después de un rato.
Entonces, normalmente forman los bucles para que terminen, para que tengan que revisar para asegurarse que han terminado.
Así que si echamos un vistazo a esa historia.
Vemos que en esa historia que es como contamos la palabra más común en un archivo e imprimimos la palabra y cuántas veces aparece, pueden ver que hay unos Códigos Secuenciales.
Y en Python la manera de saber que es un Código Secuencial es cuando no está planeado.
Simplemente baja, baja y baja.
Ahora, "para" es otra palabra reservada que hará bucle, y esta tiene dos puntos, y dice que es un bloqueo previsto, y resulta que es un "para" dentro de un "para".
A esto le llamamos incrustar, ya llegaremos a eso.
Y luego, este bucle termina y se ejecuta por un rato, y luego hay más partes Secuenciales, hay un "para" el cual es un Código Repetido, y luego hay un si incrustado dentro de ese "para", eso es un Código Condicional, y este se ejecutará un rato, y luego vendrá y hará un poco de Código Secuencial.
Así que, tenemos en este Código Secuencial un Código Repetido, y Código Condicional.
Así que los tres de cuatro patrones básicos de la programación que ven en este archivo.
Por lo tanto, si ven esto desde una perspectiva esquemática, esto es más o menos nuestra historia, estos son los párrafos de nuestra historia.
Esta parte superior dice, "lee el nombre de un archivo del usuario, y abre ese archivo para que podamos leerlo".
Este segundo párrafo dice, oh, podemos leer todo el archivo, crear un histograma que esquematiza el número de palabras a la frecuencia de las palabras, y cada vez que vez una palabra, actualiza el histograma para que tengamos una suma total de todas las palabras, usando algo que aprenderemos más adelante, como en el capítulo diez, o nueve, llamado diccionario.
Y es genial, es genial, ¡pero no se preocupen por eso! No se preocupen por eso.
No se preocupen por ahora.
Esto es hacer un histograma.
Luego, una vez que tengan el histograma, y hayamos leído todas las palabras, luego leeremos el histograma para encontrar la más grande, y luego imprimiremos la palabra más grande, y el conteo más grande.
Y así, esta es la pequeña y breve historia con algunas oraciones y párrafos y alfabeto y palabras reservadas y vocabulario y todo eso, y más o menos estaremos aprendiendo cómo hacerlo.
No se preocupen de hacerlo todo bien por ahora.
Tocaremos la superficie, tenemos todo un capítulo dedicado a las variables, un capítulo entero para Condicionales, y uno entero para bucles, ¿correcto? Y solo trato de mostrarles este panorama completo, para que cuando lleguemos ahí puedan empezar a ensamblar todas esas cosas.
Y, como les mencioné, es un poco confuso.
Generalmente, comenzará a esclarecerse en el Capítulo Seis y Capítulo Siete.
Así que, solo comprendan que aprenderemos pequeñas partes y pequeños pedazos, y luego todo mejorará al final.
Así que, gracias por escuchar.
El Capítulo Uno es nada más para hacer que tengan un resumen del tipo de cosas que aprenderemos a lo largo del curso, y establecer un poco del vocabulario para que pueda hablar de cosas como microprocesadores, y RAM, y memoria, y cosas por el estilo, para que pueda comunicar, y decir, "Oigan, vamos a hacer esto que tiene que ver con el CPU", para que puedan hacer uso de ello.
Así que, espero que les sea de utilidad, y nos vemos en el siguiente capítulo.
Comentarios
Publicar un comentario