0% encontró este documento útil (0 votos)
13 vistas35 páginas

Python Programación

El documento detalla la preparación del entorno de aprendizaje para programar en Python, enfocándose en Jupyter Notebook y Google Colab como herramientas de desarrollo. Se explica cómo instalar y utilizar Jupyter Notebook a través de Anaconda, así como sus características y comandos básicos. Además, se menciona la alternativa de Google Colab para aquellos que no pueden instalar Anaconda, y se introduce brevemente PyCharm como un entorno de desarrollo más profesional.

Cargado por

Angel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas35 páginas

Python Programación

El documento detalla la preparación del entorno de aprendizaje para programar en Python, enfocándose en Jupyter Notebook y Google Colab como herramientas de desarrollo. Se explica cómo instalar y utilizar Jupyter Notebook a través de Anaconda, así como sus características y comandos básicos. Además, se menciona la alternativa de Google Colab para aquellos que no pueden instalar Anaconda, y se introduce brevemente PyCharm como un entorno de desarrollo más profesional.

Cargado por

Angel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 35

Programación en Python desde cero

Sección 2: Preparación del entorno de aprendizaje


Jupyter Notebook y Google Colab
En la sección anterior hemos instalado Anaconda, que como ya veíamos, se
corresponde con un framework
que nos va a proporcionar todas las herramientas que vamos a necesitar para
ejecutar código en Python.
Sin embargo, todavía no hemos visto ninguna solución, ninguna herramienta
que nos permita desarrollar
este código, es decir, escribir el código que después vamos a ejecutar
mediante las utilidades que
nos proporciona Anaconda.
Tanto en este vídeo como en la siguiente sección, lo que vamos a ver son dos
entornos de desarrollo,
uno un poquito más simple que va a ser el que vamos a presentar ahora y que
se corresponde con Jupyter
Notebook y otro pues un poquito más complejo, más profesional y que
probablemente si os dedicáis profesionalmente
a escribir código en Python, ya sea para Data Science, ya sea para
ciberseguridad o para cualquier
otra disciplina, pues prefiráis utilizar.
Bien, pues vamos a comenzar presentando este IDE un poquito más sencillo,
pero que también nos va
a proporcionar pues algunas capacidades que son muy interesantes y que
debemos tener en cuenta.
Vamos a comenzar abriendo nuestro navegador y vámonos a la página oficial
de Jupyter Notebook para ver
exactamente en qué consiste.
Ponemos aquí como suena Jupyter o Jupyter Notebook y automáticamente nos
va a llevar a esta primera
página Jupyter punto org.
Y si pulsamos en ella, pues vamos a ver la página oficial.
Bien, la primera opción de instalación de esta herramienta pues por supuesto,
es simplemente descargarla.
Aquí en la parte de Install descargamos la herramienta y la instalamos de
manera independiente.
Sin embargo, como nosotros hemos instalado Anaconda, que ya veíamos que
nos proporcionaba una serie
de herramientas por defecto, una serie de utilidades, podemos hacer esta
instalación de Jupyter Notebook
de manera mucho más sencilla, con lo cual vamos a abrir Anaconda.
Fijaros que yo lo tengo ya anclado a mi barra de tareas.
Os recomiendo que lo pongáis en vuestra barra de tareas o como acceso rápido
porque vamos a utilizarlo
mucho a lo largo del curso y una vez que se abra el Anaconda Navigator, pues
una de las cosas que podemos
ver es que nuestro entorno va a ser, por ejemplo, la herramienta Jupyter
Notebook ya viene instalada
por defecto.
Nosotros recordad que habíamos creado otro entorno virtual.
Dentro de Environments tenemos curso Python y por lo tanto vamos a activar
este entorno virtual que
utiliza la nueva versión de Python.
Volvemos a Home y vemos que de nuevo tiene Jupyter Notebook, aunque en
este caso pues Anaconda nos
dice mira, tengo estas aplicaciones que puedo instalar para ti de manera
sencilla, pero todavía no
las has instalado en este entorno virtual nuevo que has creado, con lo cual
cogemos, pulsamos en el
botoncito install de Jupyter Notebook de manera muy sencillita y
automáticamente comienza a realizar
la instalación de este software.
Vale.
Esperamos unos segunditos, no suele tardar mucho y al cabo pues de unos
pocos segundos tenemos ya instalado
Jupyter Notebook y fijaros que Anaconda nos permite ejecutarlo.
Bien, pues sin más, antes de entrar en detalles sobre qué es Jupyter Notebook,
vamos a pulsar este
botoncito de Launch, este botoncito de ejecutar y vamos a ver cuál es la
primera interfaz que nos ofrece
Jupyter.
Pulsamos en Launch, comienza a abrirse y fijaros, nos abre el navegador y en
el navegador nos muestra
pues lo que parece ser nuestro sistema de ficheros.
Estamos en nuestra carpeta raíz y aquí tenemos todas las carpetas que
tenemos dentro de nuestra carpeta
home en nuestro sistema de ficheros, en este caso en un sistema operativo
Windows.
Bien, pues esto que estáis viendo es la interfaz de Jupyter Notebook.
Como os decía anteriormente, Jupyter Notebook o Jupyter Notebook va a ser un
entorno de desarrollo
muy sencillito que se ejecuta o que lo utilizamos a través de nuestro
navegador, lo cual facilita muchísimo
su uso porque no requerimos instalar ningún componente adicional y que nos
va a permitir escribir código
en Python, pero además también mezclarlo con otros componentes
interesantes como puede ser texto o
como puede ser el resultado de la ejecución de ese código en Python.
Vamos a hacer una prueba.
Lo primero de todo, vamos a crear un nuevo directorio donde vamos a ir
guardando, almacenando los
diferentes ejercicios del curso y para ello nos vamos a New, arriba a la derecha,
pulsamos en folder
y esto nos creará una carpetita que se llama Untitled Folder.
Bien, la seleccionamos.
Vamos a cambiarle el nombre arriba en Rename y yo voy a poner pues por
ejemplo curso Python Udemy,
le damos a Rename y ya tenemos esta carpetita con el nuevo nombre.
Pulsamos en ella.
Dentro de la carpeta podéis observar que no hay nada y vamos a crear nuestro
primer fichero punto py
o nuestro primer fichero Python.
Con Jupyter Notebook nos vamos a new Python tres y esto nos crea un fichero
python.
Fijaros que yo he dicho fichero punto py porque normalmente los ficheros que o
los scripts en python
pues tienen la extensión punto py.
Sin embargo, si nosotros cambiamos el nombre de este fichero y le ponemos.
Ejercicio, prueba y nos vamos a la.
Carpeta anterior a la pestaña anterior donde tenemos nuestro sistema de
ficheros.
Fijaros como la extensión no es PPI, sino que es IP y NB.
Esta es la extensión de cuadernos Jupyter de ficheros creados en Jupyter
Notebook, con lo cual esto
es importante que lo sepamos porque este ficherito IP y NB nosotros podríamos
cogerlo, podríamos mandárselo
a otra persona y esa persona pues con Jupyter Notebook podría ejecutarlo y
obtendría exactamente el
cuaderno que nosotros tengamos aquí.
Bien, en qué consisten los cuadernos Jupyter?
De manera general no me quiero enrollar mucho con diferentes comandos, con
diferentes funcionalidades,
porque esto ya lo vamos a ir viendo a medida que avancemos con el curso.
Bien, la unidad básica de los cuadernos Jupyter es la celda y una celda es
concretamente esto que estáis
viendo aquí arriba.
Qué podemos escribir dentro de una celda?
Bueno, pues podríamos escribir código en Python.
Por ejemplo, podría poner aquí print Hola mundo, Esta es una sentencia en
Python que nos va a sacar
por pantalla la cadena de texto que nosotros pongamos.
En este caso la cadena de texto es Hola mundo y si yo ejecuto esta celda
pulsando en Run lo que va a
pasar es que me saca el resultado que es esa cadena de texto.
Hola mundo!
Fijaros como queda aquí la celda con el código y además se inserta, se incrusta
el resultado de la
ejecución en este cuaderno Jupyter.
Qué más cosas puedo hacer con la celda?
Bueno, puedo crear todas las celdas que quiera, por supuesto, aquí pulsando
en el más o incluso pulsando
en la letra B.
De acuerdo, Fijaros y puedo añadir texto.
Me voy aquí arriba donde pone Code pongo Markdown, que es un tipo de
lenguaje para el formateo de texto
y yo aquí puedo poner algo como por ejemplo esto es un ejercicio de pruebas y
si ejecuto esta celda
veréis como esto se transforma, se interpreta como texto y se inserta dentro
de este Jupyter Notebook.
Por supuesto, podría subir este texto hacia arriba con estas flechas, ponerlo al
principio, podría
poner texto, pues si creo una celda de otra forma diferente, pues por ejemplo
pongo Markdown, pongo.
Esto es.
Otro texto de prueba, la ejecuto y fijaros cómo se inserta en otro formato.
Vale, esto es mediante el lenguaje Markdown que veíamos anteriormente.
Bien, pues esto es fundamentalmente Jupyter Notebook y estas son las
capacidades que nos proporciona
y por eso es tan utilizado, porque nos permite de manera muy sencillita escribir
código en Python,
ejecutarlo, obtener el resultado insertado dentro de este cuaderno, escribir
texto, documentarlo
todo y después de una manera muy sencilla, volver a nuestro, a nuestro, a
nuestra carpeta dentro
de nuestro sistema de ficheros, coger el ficherito y y mandárselo a otra
persona.
Y esa persona, cuando abra este fichero en su ordenador, en su sistema con
Jupyter Notebook, verá
el texto, verá el código y además verá la ejecución de ese código y el resultado
que nosotros obtuvimos
en nuestro sistema.
Vale, bien, Jupyter Notebook es probablemente la herramienta que más se
enseña en los diferentes cursos
que vais a encontrar en la plataforma Udemy, porque es una herramienta muy
útil, muy sencilla, fácil
para intercambiar ejercicios.
Yo os mandaré muchos ejercicios en formato Jupyter Notebook.
Sin embargo, cuando nosotros nos dedicamos a esto profesionalmente, cuando
estamos desarrollando programas
complejos con diferentes clases, diferentes ficheros o incluso que realizan
algunos cambios sobre el
sistema operativo, pues Jupyter Notebook se queda un poquito corto.
De acuerdo?
Es una herramienta que no nos proporciona todas las funcionalidades que nos
gustaría tener y por ello
utilizamos otros IDEs diferentes, otros entornos de desarrollo como el que
vamos a ver en la siguiente
sección.
Bien, para terminar con Jupyter Notebook y antes de presentaros otra
alternativa que vais a tener a
esta herramienta que os voy a enseñar ahora, vale, pero en este caso, en una
modalidad online, sí
que me gustaría que tuvieseis en cuenta algunos comandos básicos que vamos
a utilizar a lo largo del
curso.
El primero de ellos es el comando enter.
Fijaros que si yo pulso una celda, por ejemplo esta celda de aquí y pulso enter,
entonces entro en
modo Edición, en modo edición todas las letras que yo pulse, pues se van a
escribir en esa celda.
Cuando pulso la letra Escape, vais a ver que se quita el cursor de la celda y eso
quiere decir que
estamos en modo comando.
Ahora podemos utilizar diferentes letras para movernos por las diferentes
celdas o realizar diferentes
acciones.
Por ejemplo, podemos utilizar la letra J para movernos a la siguiente celda, la
letra K.
Para volver a hacer las anteriores podemos utilizar la letra D repetida dos
veces para eliminar una
celda, por ejemplo dd.
Vale, podemos utilizar la letra Z.
Para hacer un deshacer un control Z.
Podemos utilizar por ejemplo la letra M para cambiar una celda de modo código
a modo texto.
Vale, si pulso m me va a modo texto, si pulso y me vuelve a modo código y si
yo quiero escribir en
esa celda pues lo que tengo que hacer es pulso, enter, entro en modo edición
de esa celda y aquí ya
podría pues poner lo que yo quiera.
Vale?
Para.
A ejecutar una celda de manera rápida, podemos hacerlo a través del comando
Shift Enter.
Pulsamos Shift Enter y como podéis observar se ejecuta esa celda y obtenemos
el resultado.
Bien, con estos comandos básicos que acabo de explicar ya vais a poder
moveros perfectamente por las
celdas, eliminar, deshacer y demás.
Y a medida que vayamos avanzando con los diferentes ejercicios del curso, ya
iremos viendo nuevos comandos
e iremos perfeccionando estos comandos que os acabo de presentar.
Bueno, pues para terminar con esta sección me gustaría simplemente
presentaros una alternativa que
tenéis a Jupyter Notebook para aquellas personas que estáis utilizando un
sistema que quizá no permita
la instalación de Anaconda, pues por ejemplo un iPad o por ejemplo un
Chromebook o algo de este estilo,
La alternativa que os voy a presentar es una alternativa on line, es decir, se va
a ejecutar en la
nube de Google en este caso, y se denomina Google Colab.
Si nosotros ponemos Google Colab, vais a ver que os lleva a esta página
Google Colaboratory y si pincháis
en esta página pues vais a ver un entorno muy muy muy parecido al Jupyter
Notebook que acabamos de ver
en local en nuestro sistema operativo, pero en la nube.
Es decir, accedemos a través del navegador y lo único que vamos a necesitar
para escribir código aquí
y ejecutarlo va a ser una cuenta de Google.
Por lo demás, es todo súper súper similar.
Simplemente iríamos a una celda, pulsaríamos sobre este botoncito de
ejecutar.
Cuando tengamos una cuenta de Google no se ejecutaría esa celda, no se
incluiría el resultado.
Podemos incluir texto de la misma manera que hemos visto con Jupyter
Notebook.
Podemos añadir celdas, eliminar celdas.
Bueno, aquí tenéis un tutorial, pero es prácticamente lo mismo que hemos
visto en local, pero en
este caso online.
De acuerdo, todo lo que ejecutemos aquí se ejecutará en la nube de Google.
Mi recomendación es que establezcáis en este caso Jupyter Notebook en local y
que todo esto pues bueno,
solamente lo utilicéis en casos especiales en los que no tengáis acceso a un
equipo o a un sistema operativo
que permita la instalación de Anaconda.
Bien, pues sin más, dejamos aquí esta sección sobre instalación y uso de
Jupyter Notebook y Google
Colab y vámonos a la siguiente sección en la que vamos a ver un entorno de
desarrollo más profesional denominado PyCharm.

Instalación de PyCharm
Así que sin más, vamos a abrirnos nuestro navegador y vamos a poner lo
siguiente.
Para descargar PyCharm nos vamos a Google y ponemos PyCharm como veis
por pantalla.
Download.
Bueno, esto nos va a llevar a la página principal de JetBrains.
Veis que pone Download PyCharm y concretamente PyCharm tiene dos
versiones principales una versión profesional.
Como os digo, se utiliza mucho en entornos empresariales y en este caso esta
versión profesional pues
tiene un coste.
Veis que tiene 30 días gratuitos, pero después vais a tener que pagar.
Sin embargo, tiene una versión community, una versión gratuita que también
es muy potente y que es
concretamente la que nosotros vamos a utilizar a lo largo de todo el programa
formativo, con lo cual
nos venimos aquí abajo.
Pulsamos sobre Download y descargamos el instalador de PyCharm
Community.
Como veis, tarda muy poquito en descargar este instalador y una vez que
termine de descargarse pulsáis
sobre el instalador y comienza ya con el proceso de instalación.
Por aquí lo tenemos.
Ha tardado unos segunditos en salirnos esta pantalla.
Para instalarlo le damos a Siguiente.
Dejamos la ruta de instalación por defecto.
Pulsamos en Siguiente.
Vamos a pulsar que queremos crear un acceso directo en el escritorio.
Y bueno, si queréis también podéis añadirlo al path, aunque no es necesario
para el desarrollo de
este curso.
Lo que sí que vamos a hacer es asociar los archivos con extensión.
PY, que son archivos de Python.
Con este editor de código le damos a siguiente.
Mantenemos todo tal cual y pulsamos sobre Instalar.
Vamos a esperar unos segunditos a que termine la instalación.
Por aquí la tendríamos y vamos a seleccionar que se ejecute PyCharm cuando
cerremos esta ventana.
Bueno, vosotros ya deberíais de tener también un icono en el escritorio con el
que podéis abrir el
editor de código.
Entonces pulsamos en Finalizar y en principio ahora se nos debería de abrir por
aquí.
Lo podéis ver.
Dadme un segundito que lo cambie de pantalla nuestro PyCharm donde vamos
a comenzar a realizar pues
ciertas configuraciones.
Bueno, en principio si tenéis otros editores de código, como es mi caso, que
tengo Visual Studio
Code, podéis importar también las características o configuraciones que
tengáis en este editor.
En nuestro caso no vamos a importar nada, vamos a darle a Skip Import y se
nos abre la pantalla principal
donde veis que podemos seleccionar pues nuevos proyectos y podemos
comenzar a realizar su configuración.
Entonces vamos a decirle que queremos crear un nuevo proyecto, nuestro
primer proyecto que veis que
se denomina Python Project dos.
Vamos a dejarlo como Python Project, tal cual.
Yo en este caso, pues como tengo otro proyecto adicional, pues por eso me
ponía el dos, entonces
voy a ponerlo por ejemplo como test Project, nuestro primer proyecto.
Entonces la localización va a ser esta que veis por aquí Users Santiago,
PyCharm Project.
Y una de las cosas muy interesantes que tiene PyCharm es que tiene una
integración directa con Anaconda,
lo que hemos instalado en los vídeos anteriores.
Esto nos permite gestionar los entornos virtuales desde Anaconda, pero a su
vez utilizarlos desde este
editor de código.
Entonces, una de las cosas que podemos hacer por aquí es primero decirle que
nos cree un script de
bienvenida que es el que vamos a ejecutar a continuación para ver que todo
está correcto.
Y a continuación vamos a decirle que queremos crear un entorno
personalizado.
Fijaros, le decimos que queremos generar un nuevo entorno virtual y que
concretamente queremos hacerlo
con conda.
Por qué?
Pues bueno, ya que tenemos conda instalado y que estamos gestionando todos
los entornos con este software,
pues también que gestione los entornos de nuestro PyCharm.
Además podemos seleccionar la versión de Python concreta que queremos
utilizar actualmente.
La versión más reciente es 3.12, pero independientemente de cuando estéis
viendo este vídeo, tenéis
que seleccionar aquí la última versión que os aparezca.
Yo tengo actualizados todos los vídeos del curso para que soporten las últimas
versiones de Python.
Entonces por aquí seleccionamos 3.11.
Le decimos que nuestro proyecto pues por ejemplo es Test Project y a
continuación dejamos tal cual la
ruta hacia Anaconda, que es la ruta por defecto y le decimos que queremos
crear este proyecto.
Se nos abre una ventana que ahora se me está abriendo a mí en la pestaña de
la derecha y nos dice que
está creando este proyecto con conda.
Esperamos unos segunditos a que termine de crearse y tras unos pocos
segundos deberíais de ver algo
parecido a lo que yo tengo por pantalla.
Bueno, esta es la interfaz gráfica de PyCharm.
Veis que también parece un poquito más profesional que lo que veíamos con
Jupyter Notebook, aunque
no siempre es más útil.
Depende también del caso de uso y por aquí podemos observar que tenemos
el código fuente.
Esto es código en Python que no tenéis que entender en este momento.
Iremos profundizando sobre todo esto a medida que avancemos en el curso.
Y aquí tenemos los ficheros.
Y el entorno que se ha creado de nuevo ahora mismo.
No tenéis que comprender cada apartado, porque a medida que vayamos
practicando con diferentes proyectos
y casos prácticos, lo vais a ir entendiendo todo muchísimo mejor.
Lo que sí que quiero que hagamos es que probemos si todo está bien instalado
y es capaz de utilizar
ese entorno virtual que ha creado de manera efectiva.
Y para ello vamos a quitar este breakpoint que tenemos aquí.
De momento tampoco hace falta que comprendáis que es un breakpoint.
Lo iremos viendo a medida que avancemos con el curso y vamos a pulsar sobre
Ejecutar este código.
Si todo ha ido bien, deberíais de ver algo parecido a lo que se muestra en mi
pantalla que nos dice
Hola PyCharm y PyCharm, que es precisamente lo que está haciendo por aquí,
que consiste en imprimir
esta cadena de texto.
También debería de poner que el proceso ha finalizado con un código de salida
de cero, que quiere decir
que ha sido una ejecución exitosa.
Bueno, pues llegados a este punto ya tenemos todo listo en nuestro entorno de
aprendizaje para comenzar
con el curso, Así que os dejo con la siguiente sección en la que vamos a hablar
un poco sobre qué es
Python.
Línea

Sección 3: Semana 1 - ¿Qué es Python?


¿Qué es Python?
Qué es un lenguaje de programación?
Esta es una pregunta que os lanzo y que algunos de vosotros ya sabréis porque
habréis tenido contacto
con otros lenguajes diferentes a Python.
Bueno, un lenguaje de programación, en definitiva, van a ser un conjunto de
componentes sintácticos
y semánticos que nos van a ayudar a comunicarnos en este caso, o a
transmitirle lo que queremos que
haga nuestro ordenador.
Nuestro equipo es lo mismo que un lenguaje cualquiera.
Por ejemplo, el español al final es una serie de componentes sintácticos, una
serie de componentes
semánticos que me ayudan a mí a comunicarme con otras personas.
Pues esto es un poco similar.
Bien, concretamente hay diferentes tipos de lenguajes de programación y esto
lo tendréis muy claro
aquellos que hayáis aprendido otros lenguajes como por ejemplo C o C++.
Hay lenguajes compilados y hay lenguajes interpretados, y esto es una de las
preguntas más frecuentes
cuando comenzamos a hablar de Python.
Python es un lenguaje compilado o es un lenguaje interpretado bien?
Qué significa compilado?
Qué significa compilar?
En definitiva, y de manera muy simplificada, compilar no es más que coger un
archivo que está escrito
en un lenguaje de alto nivel, en un lenguaje de programación de alto nivel,
como puede ser C, como
puede ser C++, como puede ser Python y transformarlo en otro archivo.
Pero en este caso que nuestro sistema operativo sea capaz de comprender
concretamente.
Por ejemplo, cuando hablamos de compilar un programa en C, estamos
transformando un lenguaje de alto
nivel que sería C, un lenguaje que está especialmente diseñado para nosotros
para que nosotros podamos
escribir programas, lo transformamos a código máquina, que eso es
prácticamente incomprensible para
los humanos e incomprensible para nosotros.
Sin embargo, es lo que utilizará después nuestro sistema operativo, nuestro
equipo, para ejecutar
esas instrucciones que nosotros definimos con el lenguaje de alto nivel.
Sin embargo, un lenguaje interpretado o por otro lado, un lenguaje
interpretado, no hace esta fase
de conversión de ese fichero que está escrito en un lenguaje de alto nivel a un
lenguaje de bajo nivel,
sino que realizaría una ejecución instantánea.
Esto podría ser, por ejemplo, el funcionamiento de una shell de una consola de
comandos.
Nosotros metemos un comando que en definitiva, pues se corresponde
también con otro lenguaje, por
decirlo así, un conjunto de reglas y nuestra consola, nuestra shell, interpreta el
comando que nosotros
estamos metiendo.
Bien, pues Python, cómo podemos clasificarlo?
Antes de daros la respuesta, vamos a ver las diferentes maneras que hay de
ejecutar código en Python,
de ejecutar un programa escrito en Python y a ver si nosotros podemos llegar a
una conclusión.
Bien, la primera manera y la más sencilla y es la que hemos utilizado en la
sección anterior en la
que hemos instalado PyCharm.
De hecho voy a abrir aquí PyCharm.
Fijaros que lo tengo anclado a la barra de tareas.
Aquí se abre bien, pues la primera forma como estábamos comentando, pues
es esta que vemos aquí tenemos
nuestro ficherito escrito con un lenguaje de alto nivel, en este caso Python.
Nuestro ficherito se llama Main.py y cuando yo ejecutaba concretamente el
fichero o este código en este
triangulito que vemos arriba a la derecha, me devolvía o me sacaba por
pantalla esto que vemos aquí.
Y PyCharm, que es exactamente lo que está haciendo este código, como
veremos más adelante.
Bien, si nosotros pensamos un poquito en lo que hemos hablado
anteriormente, pues por ejemplo, cuando
hablábamos de lenguajes que compilaban estos ficheros escritos en un
lenguaje de alto nivel, lo que
hacían era transformarlo en otro fichero diferente o generar otro fichero
diferente escrito en un lenguaje
de bajo nivel, como podía ser, por ejemplo, código máquina que nuestro
sistema operativo podía interpretar.
Entonces, si Python fuese un lenguaje compilado, un lenguaje que se compila,
entonces si nos vamos
a la ruta de este proyecto que está en C Users Santiago PyCharm Project Test
Project, debería de estar
ese ficherito de esta compilación del código que vemos aquí, no?
Bien, pues vamos a ver si encontramos ese ficherito.
Vámonos a la ruta que vemos ahí arriba, que concretamente es C i users
Santiago.
Haber entrado aquí en Anaconda es un poquito para atrás y vamos a irnos a.
PyCharm Projects Test Projects.
Y aquí tenemos efectivamente nuestro Ficherito main.
Sin embargo, no vemos nada más este ficherito que tengo aquí.
Si lo abriese con cualquier otro editor de texto, por ejemplo un Notepad, yo
cojo.
Y abro el fichero.
Qué es lo que tengo en este fichero?
Pues exactamente lo mismo que veía en el editor PyCharm.
Fijaros en nuestro entorno de desarrollo.
Este es el código que vemos aquí y es lo mismo que estoy viendo cuando yo
abro ese fichero con el Notepad.
Qué quiere decir esto?
Pues que aparentemente ha ejecutado este fichero, ha ejecutado el código que
aparece en el fichero
y no ha pasado por esa fase de compilación.
No es lo que podríamos pensar porque no se ha generado ese fichero de bajo
nivel, no ese fichero de
código máquina, ese binario.
Bien, pues esto es una verdad un poquito a medias, porque esto nos podría
llevar a pensar que entonces
Python es un lenguaje interpretado, no es un lenguaje compilado y hasta cierto
modo, pues podría ser
así.
Sin embargo, vamos a seguir viendo qué más maneras tendríamos de ejecutar
un programa en Python.
Otra de las formas que tendríamos de ejecutarlo es la siguiente Vamos a abrir
Anaconda Navigator y vamos
a abrir concretamente una consola de comandos, una shell.
En nuestro entorno de aprendizaje o en nuestro entorno virtual que nosotros
hemos establecido en esos
vídeos anteriores.
Bien, por aquí tengo Anaconda Navigator, vamos a nuestro entorno, voy a
poner Test Project, por
ejemplo, que es el entorno virtual que he creado anteriormente con PyCharm, y
lo que vamos a hacer
es vamos a darle al triangulito y vamos a abrir una terminal.
Esto nos va a abrir pues una CMD de Windows en el caso de que estemos en
Windows, en el caso de que
estemos en Linux nos habrá nos abrirá una consola de Linux y en esta consola
vamos a ver que estamos
en este entorno.
Vale, si nosotros ponemos Python vemos que nos abre algo que parece aquí,
que tiene tres rayitas que
vamos a ver ahora lo que es, pero nos dice que trabajamos con tres punto 9.2.
Bien, vamos a salir de aquí y vamos a ver otra forma de ejecutar este ficherito
main.py que veíamos
en PyCharm.
Entonces vamos a acceder a la ruta en la que se encuentra nuestro proyecto,
que hemos visto que está
en PyCharm Projects, está en Test Project y concretamente.
Está aquí, verdad?
Aquí lo tenemos Main.py.
Vale, fijaros que tengo la misma ruta de accedido que la que tenemos en
PyCharm.
Entonces otra de las formas que tendría de ejecutar este ficherito es
simplemente poniendo Python y
poniendo.
El nombre del fichero main.py pulsó enter y aquí vemos el resultado de la
ejecución de ese código,
que es exactamente el mismo que yo obtenía con PyCharm.
Me dice Hola, PyCharm y PyCharm.
Bien, pues si, lo mismo de antes, si fuese compilado entonces en la ruta que
veíamos anteriormente
se debería de haber creado algún ficherito aparte y vemos que no se ha creado
nada.
Si os estáis preguntando qué es esta carpeta que aparece dentro del proyecto,
esta carpeta es una serie
de ficheros que te crea por defecto PyCharm y que simplemente le ayudan a
tener diferentes parámetros
de configuración controlados para ese proyecto, como por ejemplo el intérprete
que estamos utilizando
o la ruta del intérprete, etcétera, etcétera Con lo cual esto no tiene nada que
ver con que se haya
compilado este código.
Bien, pues bueno, aparentemente parece que podemos sacar la conclusión de
que esto es un lenguaje
interpretado.
Python es un lenguaje interpretado y no nos va a generar ningún fichero
intermedio.
Cuando nosotros ejecutemos un programa escrito en Python vamos a hacer
una prueba más para confirmar
esto y lo siguiente que voy a hacer es Fijaros, ahora mismo no tenéis que
entender muy bien lo que
estoy haciendo, simplemente quedaros con el concepto general del que
estamos hablando.
Voy a crear un nuevo fichero en nuestro proyecto dentro de PyCharm.
Voy a darle a New, le voy a dar a Python File y lo voy a llamar, por ejemplo,
fichero.
Prueba creo este fichero prueba y aquí yo voy a definir una función def.
De function.
Le voy a pasar un argumento y aquí lo que voy a hacer es sacar por pantalla el
argumento que le paso.
Vale, tan sencillo como esto.
Bien, desde mi fichero principal lo que voy a hacer es importar este fichero que
acabo de crear.
No os preocupéis si no entendéis ahora lo que es importar, qué consecuencias
tiene y demás, porque
lo veremos más en detalle en las siguientes secciones.
Pero yo lo que voy a hacer es simplemente venirme aquí y decirle que me
importe esa función que acabo
de definir.
Entonces le digo oye, desde mi fichero prueba que acabo de definir importame
la función test function,
vale?
Le digo que me la importe y lo dejo importado.
Guardo.
Podríamos guardar simplemente dándole a Save Save as.
Ya lo tengo guardado y lo siguiente que voy a hacer va a ser ejecutar de nuevo
este programita.
Entonces lo ejecuto y como podíamos presuponer obtenemos exactamente el
mismo resultado.
Sin embargo, fijaros, vámonos a la ruta.
Uy!
Nos ha creado un nuevo directorio, un nuevo directorio que se llama barra baja,
baja baja baja, baja,
baja, baja.
Si yo accedo a este directorio veo que tengo un fichero que es fichero prueba C
python 39.
Qué quiere decir esto de c Python 39 y qué es lo que tiene dentro de este
fichero?
Si yo abro este fichero, por ejemplo con Notepad y me vengo al ficherito esto y
lo pego aquí, fijaros
lo que tengo, tengo algo que no puedo interpretar que yo no puedo leer.
Parece que ha transformado este fichero de prueba que yo había definido en un
lenguaje de bajo nivel.
No sé si es código máquina, no sé muy bien lo que es, pero no es desde luego
el código en Python de
alto nivel que nosotros habíamos definido en ese fichero.
Fijaros que el fichero prueba tenía este código.
Vale esta función en Python que vamos a ver más adelante.
Bien, qué es lo que ha ocurrido aquí?
Bueno, pues realmente todo lo que estábamos viendo antes cuando yo hablaba
de que Python es un lenguaje
interpretado, Python es un lenguaje compilado.
Realmente Python es una mezcla de ambos.
Podríamos decir que sí es un lenguaje interpretado y que sí es un lenguaje
compilado.
Por qué?
Pues porque como acabamos de ver, sí que hay una transformación de alguna
manera del código que nosotros
tenemos en estos archivos a una representación intermedia y después esa
representación es la que ejecuta
concretamente Python lo que hace es transformar los scripts o los programas
que nosotros escribimos
en este lenguaje de programación a otros archivos que están en bytecode.
Y después este bytecode lo que hace es interpretarlo, ejecutarlo a través de
una máquina virtual que
tiene Python.
Y no confundamos estas máquinas virtuales con clientes de virtualización como
VMware o VirtualBox.
Esto es más a nivel de CPU.
Es una pequeña máquina virtual que permite abstraernos de algunas cosas,
como el sistema operativo
a la hora de ejecutar un programa en Python, con lo cual ya sabemos esto y
probablemente alguno de
vosotros se estará preguntando Vale, pero por qué cuando tú ejecutabas este
script, este pequeño ficherito
al principio el main no te estaba generando nada y cuando tú has creado otro
fichero y lo has importado,
sí que te ha generado ese código intermedio, ese bytecode que después va a
ejecutar con la máquina
virtual de Python.
Bien, pues esto lo hace por la implementación que estamos utilizando de
Python.
Fijaros que al final un lenguaje de programación es como un lenguaje
cualquiera, como por ejemplo el
español.
Como hablábamos anteriormente, son una serie de componentes sintácticos y
semánticos, pero eso hay
que implementarlo.
Concretamente, la implementación que más se utiliza de Python a día de hoy
es C Python, que es una
implementación escrita en C, y por eso cuando nosotros abríamos este ficherito
veíamos que la extensión
era C, Python 39.
Y por qué se ha generado este ficherito únicamente para fichero prueba y no
para el main?
Pues porque en esta implementación de c Python lo que ocurre es que
únicamente genera los ficheros de
bytecode cuando nosotros importamos ese fichero en nuestro módulo main
que estamos ejecutando, con
lo cual si lo importamos se va a generar ese fichero de bytecode.
Si no lo importamos va a seguir haciendo este proceso, va a coger este código,
lo va a transformar
en bytecode y después lo va a ejecutar con esa máquina virtual, pero no va a
volcar a disco ese fichero
intermedio, no va a volcar a disco el fichero de bytecode, pero sí que va a
realizar este mismo procedimiento
tal y como estamos hablando.
Bien, entonces, si realiza esta transformación a bytecode siempre, porque
estamos hablando de que
Python es un lenguaje interpretado.
Pues porque Python también nos proporciona otros mecanismos que nos
permiten ejecutar de manera mucho
más interactiva sentencias en Python.
Aunque sigue haciendo esto por detrás, sigue transformando la sentencia en
bytecode y después ejecutándolo
con la máquina virtual.
Sin embargo, en apariencia parece que se está haciendo de manera interactiva
y en tiempo real.
Cuál es esta manera de ejecutar código en Python?
Pues es la manera conocida como el intérprete interactivo.
Fijaros, esto es muy sencillito.
Y si nosotros nos volvemos a la terminal que teníamos y nosotros ponemos
Python y ahora vais a entender
por qué os decía que antes lo cerráramos, que lo íbamos a ver más adelante.
Se nos abre esto que veis aquí.
Esto es el intérprete interactivo de Python y nosotros aquí podemos poner
sentencias, escribir sentencias
en Python, por ejemplo print.
Hola mundo que saca por pantalla esta cadena de texto, ejecutarla y en tiempo
real.
Vamos a ver el resultado de la sentencia que habíamos puesto anteriormente.
Alguien podría pensar que esto es un lenguaje interpretado porque
aparentemente aquí no hay ningún proceso
de compilación.
Sin embargo, sí que está ocurriendo por detrás todo el proceso que
hablábamos anteriormente de transformación
de este código que está escrito en un lenguaje de alto nivel a bytecode y ese
bytecode ejecutado por
la máquina virtual de Python.
Bien, pues no quiero enrollarme mucho más con todo esto.
Sí que quería que os quedaseis con los conceptos básicos con que Python es un
lenguaje de programación
que, aunque se puede considerar interpretado en muchas ocasiones, también
tiene una pequeña fase de
compilado, una pequeña fase de transformación de ese lenguaje de alto nivel,
de ese código de alto
nivel a bytecode, y después lo ejecuta a una máquina virtual.
Quería que os quedaseis con que la implementación de Python más utilizada y
la que vamos a utilizar
nosotros es C Python, que es la implementación en C y que las maneras que
tenemos de ejecutar, pues
un programa escrito en Python son varias, Podemos hacerlo desde PyCharm,
podemos hacerlo desde la
consola o podemos incluso utilizar el intérprete interactivo de Python.
Que es esto que veis aquí para ejecutar diferentes sentencias y obtener el
resultado en tiempo real.
Cuando hablamos de Jupyter Notebook estamos haciendo algo muy similar a
utilizar el intérprete interactivo,
como vais a ver en las siguientes secciones.
Bien, pues no me enrollo más.
Espero que ahora tengáis una idea un poquito más fija de qué es Python.
Y ahora ya sí, vámonos con la siguiente sección en la que vamos a empezar a
entrar en detalle en todos los elementos de este lenguaje de programación.
Sección 4: Semana 1 - Introducción a Python
Metodología de aprendizaje y ejercicios de código
Sintaxis y Semántica de Python
Antes de que comencemos a ver los diferentes componentes de Python, me
gustaría que dedicásemos unos
minutos a hablar de dos de los elementos más importantes de cualquier
lenguaje de programación, que
son la sintaxis y la semántica.
Bueno, cuando hablamos de sintaxis, la sintaxis de un lenguaje de
programación es el conjunto de reglas
que define las combinaciones de símbolos que se consideran declaraciones o
expresiones válidas.
Y esto es algo que no solamente aplica a los lenguajes de programación, sino
que también aplica a otros
lenguajes, como puede ser, por ejemplo, el español.
Nosotros también podemos utilizar un conjunto de símbolos que se
corresponde con nuestro alfabeto,
las diferentes letras que podemos utilizar y podemos combinarlas para formar
expresiones válidas.
Por ejemplo, una palabra, por ejemplo coche es una combinación de símbolos
de letras que es sintácticamente
válida.
También podríamos combinarlos para formar expresiones que no sean válidas,
por ejemplo, palabras que
no existan.
Bien, cuando hablamos de la semántica, por otro lado, hablamos del campo
que va a evaluar el significado
de las cadenas, que son sintácticamente válidas, es decir, de una cadena, una
combinación de símbolos
que es sintácticamente válida, que el lenguaje la permite crear de esa manera,
pues nosotros utilizamos
la semántica para evaluar cuál es el significado de cada una de las partes de
esa expresión.
Vamos a verlo en la práctica.
Vamos a poner por aquí esta expresión en Python que hemos visto también en
secciones anteriores que
decíamos que lo que hace es que saca por pantalla el valor que nosotros
pongamos aquí.
Vale, esto es una función que es la función print que veremos más en detalle
en siguientes secciones.
Bueno, por ahora lo importante es que entendamos que la sintaxis define que
esta expresión sea válida,
es decir, que esta P antes de esta R antes de esta y antes de esta n y así
sucesivamente.
Que el uso, por ejemplo, de este paréntesis de apertura, de estas dobles
comillas, de estas letras
que tenemos por aquí, pues es correcto.
De acuerdo, esto es lo que está definiendo la sintaxis de Python, mientras que
la semántica.
Y además fijaros que Jupyter Notebook nos lo resalta, está proporcionando un
significado a diferentes
partes de esta expresión, es decir, está dándole un significado a esta p r i n t y
está diciendo oye.
Esta combinación de símbolos es una función dentro de Python.
Tiene ese significado, mientras que este paréntesis tiene otra función que es la
apertura de los argumentos
que le vamos a proporcionar.
Esto de aquí es un argumento de la función que fijaros que aparece en otro
color y así sucesivamente.
De hecho, si yo pongo por aquí, por ejemplo, la misma palabra que veíamos
anteriormente, podemos
observar que aquí aparece en verde y aquí aparece en rojo.
Esto no es porque la palabra aparezca dos veces, esto es porque esta misma
palabra, esta misma combinación
de símbolos en esta parte de la expresión, en esta parte de la cadena, tiene un
significado determinado,
Se está comportando como una función en Python, y esta misma combinación
de símbolos en esta parte
de la expresión tiene otro significado diferente.
En este caso se está comportando como un string o una cadena de texto.
Vale que veremos más adelante exactamente qué son, y esto lo define la
semántica de este lenguaje de
programación, la semántica de Python.
Bueno, pues una vez entendido esto, por qué era importante que
entendiésemos qué es la sintaxis y
qué es la semántica?
Vamos a suponer que yo quito este paréntesis que tengo por aquí de cierre.
Qué es lo que ocurre cuando yo quito este paréntesis y trato de ejecutar esta
línea?
Bueno, lo que nos dice Python, en este caso el intérprete de Python que está
implementado como C,
Python nos dice que aquí se produce un error de sintaxis.
Qué quiere decir que hay un error de sintaxis?
Quiere decir que esta combinación de símbolos no es válida dentro del
lenguaje de programación Python.
Por qué?
Pues porque nos falta un paréntesis de cierre y si yo no le pongo el paréntesis
de cierre, entonces
esto no es válido.
Con lo cual, cada vez que ejecutéis vuestro código y veáis que se produce un
error de sintaxis, lo
que tenéis que verificar es que efectivamente no falta nada, no falta ningún
carácter dentro de las
líneas que hayáis programado.
En este caso podéis ver cómo nos indica concretamente que falta un carácter
al final de la secuencia,
al final de la expresión que se correspondería, como decíamos, con este
paréntesis de cierre, una
vez que yo lo ejecuto por aquí, tendríamos perfectamente ejecutada la línea de
código.
Bien, pues esto es todo lo que quería que viésemos sobre la sintaxis y la
semántica de Python.
Ahora ya vamos a saber interpretar mucho mejor los errores, que ya os digo
que os van a aparecer miles
de errores igual que le aparecen a cualquier buen programador.
Así que vámonos con la siguiente clase en la que vamos a hablar sobre
variables.

Variables
Vamos a empezar a hablar sobre los componentes principales que forman
parte de Poisson, introduciendo
uno de los conceptos esenciales de cualquier lenguaje de programación.
Concretamente, vamos a ver en qué consisten las variables.
Bien, antes de comenzar a ver cómo implementar variables en Python, vamos
a seguir un poquito lo que
decíamos en la sección anterior y vamos a hablar sobre el concepto de
variable, que es una variable.
Bueno, cualquiera de vosotros que venga ya de haber desarrollado en otros
lenguajes de programación
como C, C++, Java o cualquier otro, ya estará más que familiarizado con el
concepto de variable.
Los que no hayáis desarrollado ningún lenguaje de programación nunca, pues
al fin y al cabo también
tenéis un poquito de contexto sobre el funcionamiento de las variables, porque
probablemente las habréis
utilizado en otros dominios, como por ejemplo en las matemáticas cuando
habéis estudiado matemáticas,
pues el concepto de variable es algo muy frecuente que se utiliza muchísimo.
Una variable que va a ser, pues no va a ser más que un elemento, una
estructura de un lenguaje de
programación de cualquiera.
No solamente contiene variables, sino que cualquier lenguaje tiene variables al
que le asignamos un
valor determinado.
Esa estructura, esa variable, va a estar referenciada por un nombre.
Nosotros le vamos a dar un nombre y después vamos a poder referenciar el
valor que le hemos asignado
a la variable a través del nombre dentro de nuestro programita escrito en
Python.
Bien.
Cómo es la sintaxis con la que nosotros podemos definir variables en Python?
Es decir, cuál es la combinación de símbolos correcta para definir una variable?
Pues es la siguiente.
Es muy sencillita.
Lo primero que tenemos que hacer es poner el nombre de la variable.
En este caso, por ejemplo, yo voy a definir una variable que se va a llamar bar.
Después tenemos que poner el símbolo, igual que puede estar con espacios o
sin espacios.
Es decir, yo puedo poner igual de esta forma que vamos a ver ahora, o podría
poner de esta forma el
igual vale con un espacio bien.
Ponemos el igual y le ponemos el valor que queremos asignarle.
Concretamente en este caso le voy a asignar una cadena de texto que va a ser
Hola Mundo!
Ejecuto esta célula y como esto es una expresión sintácticamente validad, pues
vemos que Pickford efectivamente
asigna este valor.
Hola mundo a esta variable VAR Bien, qué puedo hacer después?
Pues puedo referenciar el valor que le ha asignado en este caso.
Hola mundo, a lo largo de mi programa.
En este caso en la siguiente línea yo cojo y digo bueno, pues utilizo la función
print que me saca
por pantalla y le paso la variable el nombre de la variable.
Cuando yo ejecuto esto, qué es lo que obtengo?
Pues el valor que le había asignado previamente a esa variable.
Al final es un funcionamiento muy sencillito que como comentaba, casi todos
nosotros ya conocemos bien
por qué se denominan variables.
Pues lógicamente se denominan variables porque el valor que nosotros le
hemos asignado puede cambiar
a lo largo de nuestro programa en Python.
Por ejemplo, esta variable VAR que tiene asignado el valor Hola mundo, pues
en un momento determinado,
como en esta línea que vemos aquí, puede recibir otro valor diferente.
En este caso le voy a asignar el valor.
Adiós mundo.
Fijaros que es la misma variable con el mismo nombre le asigno este valor.
Y si ahora saco por pantalla la variable otra vez, vemos que el valor que tiene
asignado es adiós mundo.
En lugar de hola mundo.
Bien, pues si comprendéis esto, ya sabéis cómo funcionan las variables en
Python y cómo funcionan
prácticamente en cualquier otro lenguaje de programación.
Una estructura que tiene un nombre a la que nosotros le asignamos un valor
con el símbolo igual, concretamente
en Python.
Esta es la sintaxis y que después podemos referenciar a lo largo de nuestro
código.
Pues para sacar ese valor vale bien, más cositas peculiaridades que tienen las
variables dentro de
Python.
Fijaros, Python nos permite una cosa que es la asignación múltiple, es decir, yo
puedo tener una
variable a la que le ha asignado un valor.
Por ejemplo, esta de aquí que le asigna el valor.
Hola mundo y puedo coger esa variable var y asignarle a otra variable, es
decir, puedo crear otra
variable que va a ser var 2 y decirle que el valor de bardos sea el que tiene
asignado la variable var.
De esta forma, cuando yo defino esto, si ahora saco por pantalla o referencia
en mi código esa segunda
variable bardos, lo que obtendré será exactamente la misma cadena de texto
que yo le había asignado
anteriormente a la variable VAR.
Es decir, le ha asignado el mismo valor a la variable bardos.
Bien.
Que es importante cuando estamos asignando una variable a otra.
Bueno, pues lo que veis aquí abajo.
En este caso nosotros estamos referenciando la misma cadena de texto con las
dos variables.
Es decir, esto sería equivalente.
Podríamos pensarlo conceptualmente a que esta variable VAR apunta con una
flechita a esta cadena de
texto y esta variable bardos apunta también con una flechita a esta misma
cadena de texto.
Las dos apuntan a la misma cadena de texto.
Si por alguna razón cambiase esta cadena de texto, entonces cambiaría en las
dos variables porque están
referenciando la misma cadena.
Esto ahora puede que no tenga mucho sentido.
Pero cuando después hablemos sobre objetos y demás, veremos que tiene
mucho sentido el tema de que
estén referenciando al mismo objeto o a la misma cadena de texto.
Bien, pues qué más cositas aparte de la asignación múltiple podemos tener
con variables en Pickford.
Bien, creo que es importante esto que vemos aquí.
El .3 este es muy importante y es la sintaxis del nombre de las variables.
En Pickford nosotros no podemos definir las variables con el nombre que
nosotros queramos.
Tiene una serie de reglas sintácticas que debemos cumplir y que debemos
tener en cuenta.
Concretamente, la primera de las reglas que debemos tener en cuenta es esta
que veis aquí.
Los nombres de las variables en Python pueden tener cualquier longitud.
Pueden consistir en letras mayúsculas y minúsculas de la A a la Z en dígitos del
0 al 9 y en el carácter
de subrayado.
Y nada más que esto.
Es decir, yo puedo definir una variable que sea, por ejemplo, vamos a ponerle
barra baja bar igual
a Hola mundo y yo puedo sacar por pantalla esto perfectamente me va a
funcionar.
Vale.
Fijaros, se ha asignado el valor.
Hola mundo, la cadena de texto Hola Mundo a esta variable barra baja bar la
he sacado por pantalla
y efectivamente ha funcionado.
Por qué?
Pues porque me permite el carácter de subrayado.
Qué más cosas podría hacer?
Por ejemplo, podría definir una variable de esta forma?
Podría sacar por pantalla esta variable y me funciona perfectamente.
Fijaros, se ha asignado Hola mundo a una variable que tiene minúsculas y
mayúsculas porque me permite
tener mayúsculas y minúsculas.
Incluso podría combinar un poquito todo esto y decir bueno, pues ahora el
nombre de mi variable va
a ser VAR 2.
Vale, y Hisako por pantalla, mi nueva variable y fijaros en este caso, tengo por
un lado una variable
que tiene barra baja y que tiene un número.
Como hemos visto, permite dígitos y permite el carácter de subrayado y por lo
tanto.
Pues aquí cuando lo saco por pantalla tiene el valor que yo estoy asignándole.
Bien, qué ocurriría si yo defino una variable que no cumple con las reglas
sintácticas que tiene el
lenguaje de programación Python y C Python ha implementado.
Vamos a probar.
Por ejemplo, voy añadir una variable VAR y le voy a poner este carácter que no
es el carácter de subrayado
y que por lo tanto no está dentro de las reglas sintácticas que permite Poison
para la definición de
nombres de variables.
Le voy a asignar un valor, por ejemplo Hola mundo y voy a ejecutarlo bien.
Qué ha sucedido aquí?
Fijaros qué es lo que nos está diciendo.
Pues Python, lógicamente.
Concretamente el intérprete de Python que tiene esta implementación c Python
nos dice que aquí hay un
error de sintaxis, que la sintaxis que estamos utilizando concretamente para
definir este nombre de
variable es una sintaxis inválida.
Mallet.
Fijaros.
Por eso era tan importante que entendiésemos el concepto de sintaxis y
semántica.
Porque nos vamos a encontrar a medida que avancemos en el curso y con los
diferentes estructuras de
Python.
Entonces, qué nos dice?
Bueno, oye, que en el fichero este de aquí, que concretamente hace referencia
a esta celda concreta
de nuestro Júpiter Notebook en la línea 1.
Porque sólo hay una celda.
Tienes un error de sintaxis aquí en esta parte, concretamente en el carácter
anterior a este símbolo
igual.
Y el error es que no admite el nombre de la variable un símbolo como éste.
Vale, bien, pues muy sencillito.
Simplemente tenemos que tratar de seguir cumpliendo con estas reglas
sintácticas.
Y otra de las más importantes es la siguiente Aunque el nombre de la variable,
como hemos visto anteriormente,
puede contener dígitos, el primer carácter del nombre nunca puede ser un
dígito.
Es decir, yo no puedo definir una variable que sea como esto.
Vale, si yo defino esto, que me va a decir Pitchfork?
Pues que hay un error de sintaxis.
Lo que sí que podría es definir, pues, un nombre que fuese de este estilo.
De acuerdo que sería Bardos.
Por qué?
Pues porque el número en este caso estaría al final del nombre de la variable y
no al principio.
Bien, por último, el último punto que quiero comentaros sobre la sintaxis del
nombre de las variables
es este que vemos aquí.
Y es que el nombre de estas estructuras en Python es sensible a mayúsculas y
minúsculas.
Qué quiere decir que sea sensible a mayúsculas y minúsculas?
Fijaros, esto es algo muy importante.
Quiere decir que si yo defino una variable como ésta que vemos aquí Vard III,
que fijaros que tiene
la V en mayúsculas, Malle tiene esta B en mayúsculas y yo le asigno un valor,
por ejemplo una cadena
de texto.
Hola Mundo!
Defino esta variable y yo ahora saco por pantalla la siguiente variable
concretamente.
Fijaros como esta tiene la V en minúsculas y aquí la he definido en mayúsculas.
Qué pensáis que va a ocurrir?
Pues si lo que ocurre es que nos proporciona un error.
Pero fijaros, no es un error de sintaxis.
Por qué no es un error de sintaxis?
Porque esta estructura de aquí es una estructura sintácticamente válida.
Fijaros la palabra print se abre un paréntesis, tiene un nombre dentro y se
cierra un paréntesis.
Es exactamente la misma estructura sintáctica que yo veo aquí o que yo veo
aquí.
Entonces el error no es un error de sintaxis porque es válida esta combinación
de símbolos.
Lo que es es un name error.
Qué es esto?
Pues esto es más bien un error de semántica, porque pífano en este caso la
implementación de Python.
Lo que nos dice es que claro que este nombre que tienes aquí este martes no
consigo identificarlo,
no está definido, no tiene significado y como no tiene significado, pues no
puedo sacarte nada por
pantalla.
En este caso no puedo interpretarlo.
El intérprete de Python dice la semántica en este caso para este nombre en
concreto no consigo identificarla.
No sé en qué consiste.
No es una palabra que yo ahora mismo sepa lo que significa.
Por qué?
Pues porque no la he definido previamente y porque como es sensible a
mayúsculas y minúsculas, en este
caso estamos definiendo una variable completamente diferente.
Simplemente cambiando la uve a mayúsculas.
Si esto lo cambia, sea minúsculas y definiese esta variable.
Qué es lo que estaría sucediendo?
Pues que le estoy dando significado ya a este nombre a 3.
Ahora tiene un significado que concretamente es este valor que tenemos aquí.
Entonces cuando yo ahora saco por pantalla esa variable me saca el valor.
Ahora Python sí que sabe lo que es.
Lo sabe porque yo ya he definido el significado de esa variable en la celda
anterior.
Bien, pues esto es un poquito todo lo que quería enseñaros sobre variables,
como podéis observar,
pues esta es una de las estructuras más sencillas, pero también es una de las
más importantes y que
vamos a utilizar muchísimo a lo largo de todos los programas que
desarrollemos en Python, con lo cual
darle las vueltas que creáis convenientes hasta comprender bien el concepto
de variable.
Y si más.
Vámonos a la siguiente sección en la que vamos a comenzar a ver los tipos de
datos básicos en Python.
Sección 5: Semana 2 - Operadores en Python
Sección 6: Semana 3 - Tipos de datos complejos en
Python
Sección 7: Semana 4 - Estructuras de control de flujo
en Python
Sección 8: Semana 5 - Python Orientado a Objetos
Sección 9: Semana 6 - Trabajando con objetos en
Python
Sección 10: Semana 7 - Programación modular en
Python
Sección 11: Semana 8 - Manejo de excepciones en
Python
Sección 12: Proyecto Final 1 - Videojuego Snake
Sección 13: Proyecto Final 2 - Filtro de detección de
SPAM con Machine Learning
Sección 14: Despedida del curso

También podría gustarte