Python Programación
Python Programación
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
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