Es un lenguaje de programación multiplataforma, que se destaca por su código legible y limpio. Su licencia es de código abierto y permite su utilización en cualquier escenario. Esto hace que sea uno de los lenguajes de iniciación de muchos programadores. Permite y agiliza, entre otras de sus características, la automatización de procesos y ejecución de tareas tanto en entorno de cliente como de servidor.
Un lenguaje sencillo, legible y elegante que atiende a un conjunto de reglas que hacen muy corta su curva de aprendizaje. Esto hace de Python un lenguaje práctico que permite ahorrar mucho tiempo.
Simplificado y rápido
: Este lenguaje simplifica mucho la programación, es un gran lenguaje para scripting.Elegante y flexible
: El lenguaje ofrece muchas facilidades al programador al ser fácilmente legible e interpretable.Programación productiva
: Es sencillo de aprender, con una curva de aprendizaje moderada. Es muy fácil comenzar a programar y fomenta la productividad.Ordenado y limpio
: Es muy legible y sus módulos están bien organizados.Portable
: Es un lenguaje muy portable. Podemos usarlo en prácticamente cualquier sistema de la actualidad.Comunidad
: Cuenta con un gran número de usuarios. Su comunidad participa activamente en el desarrollo del lenguaje.Para poder programar en Python vamos a necesitar dos programas, primero vamos a necesitar un intérprete de Python, que es el encargado a que nuestro ordenador (o cualquier dispositivo compatible) pueda entender Python. Podemos descargarlo desde su página oficia.
Una vez descargado, ejecutamos el archivo de instalación .exe
. La instalación es muy simple, lo primero que veremos al desplegarse la ventana de instalación
es el botón de Install Now
, pero antes de pulsarlo debéis activar las casillas inferiores. Tanto la que nos permite utilizar el programa a todos los usuarios
(que viene activada de forma predeterminada) como la Add Python to PATH
que nos permitira trabajar con python desde la Terminal.
Para comprobar que la instalación se ha completado correctamente, abrimos la terminal de Windows (Cntl + r y escribimos cmd
) y ejecutamos el siguiente
comando:
python --version
Si la instalación se ha realizado correctamente, nos debería de mostrar la versión de Python instalada. También podemos comprobar que funciona correctamente ejecutando el mismo Python:
python
Ahora nuestra terminal está lista para interpretar código Python. Podemos comprobarlo actuando algún cálculo simple. Ej:
2 + 2 y debería reportarnos 4.
Para volver a la Terminal de Windows introducimos el comando exit()
.
El segundo programa que vamos a necesitar va a ser el encargado de ayudarnos a escribir el código de Python, estos programas se conocen como editores de código
y existe una gran variedad. Nosotros vamos a usar Visual Estudio Code, ya que es el editor más empleado actualmente.
Al igual que la instalación anterior, esta también es muy sencilla y debemos de fijarnos básicamente en lo mismo. Una vez descargado el archivo de instalación
.exe
simplemente lo ejecutamos, una vez inicie la instalación, pulsamos siguiente hasta llegar al apartado Seleccione Tareas Adicionales
y debemos de
activar la opción de Agregar a PATH (disponible después de reiniciar)
, está opción nos permitirá trabajar desde la Terminal con el Editor de Código.
Una vez tengamos los dos programas instalados ya podemos empezar a trabajar. Básicamente, escribiremos nuestro código mediante el Editor de Código
(en este caso
mediante Visual Estudio Code) y lo ejecutaremos utilizando el Interprete
.
Para empezar, vamos a crearnos una carpeta desde la cual trabajar. Creamos una carpeta llamada Curso_Python
en nuestro escritorio. Tras crear la carpeta, abrimos
el Visual Estudio Code, y en la parte superior izquierda pulsamos File
luego Open Folder
y abrimos nuestra carpeta Curso_Python
.
Una vez abierta la carpeta, veremos como se nos muestra en modo menú en la parte izquierda de la pantalla. Ahora vamos a generar un archivo dentro de nuestra
carpeta, para ello nos dirigimos al menú de nuestra carpeta (arriba izquierda) y pulsamos New File
, llamaremos al archivo helloworld.py
.
Para que nuestro programa funcione y que los dispositivos identifiquen que este archivo contiene código Python, debemos usar la extensión .py
, ya que sin
ella los archivos no se ejecutaran.
Una vez creado nuestro archivo helloworld.py, vamos a tratar de crear un programa super simple que nos devuelva la frase Hello World
. En primer lugar, vamos
a introducir un comentario para en un futuro poder saber de qué trata el programa. Los comentarios son muy útiles para programas con códigos largos o cuando
trabajamos con otras personas y queremos dejar notas sobre las cuestiones que veamos oportunas reportar. Los comentarios solo aparecen en el código, no serán
interpretados al ejecutar el programa.
Para introducir un comentario simplemente colocamos el signo #
seguido del comentario en cuestión. En nuestro caso vamos a especificar que es nuestro primer
programa, para ello escribimos # Este es mi primer programa.
Bien, ya hemos visto como se incorporan los comentarios, ahora vamos con la sintaxis del código. La finalidad de nuestro programa es que cuando lo
ejecutemos, nos reporte la frase Hello World
. Para ello vamos a ver nuestro primer concepto que son las palabras claves. Python utiliza estas palabras clave o
argumentos que tiene predefinidas para realizar una serie de acciones. El argumento que nosotros vamos a necesitar para Imprimir
nuestra frase es print()
.
print()
: Se usa para imprimir en pantalla. En caso de no establecer nada, Python lo interpretará como un salto de línea (al igual que si pulsáramos Enter
en un editor de texto.).
# Este es mi primer programa
print("Hello World")
Finalmente, para guardar nuestro proyecto podemos dirigirnos a File
y Save
o utilizando el atajo Ctrl + s
.
Como veis debemos de introducir el texto entre comillas ya sean dobles o simples. ¿Ya tendríamos nuestro primer mini programa creado, fácil verdad? El siguiente paso será ejecutarlo.
Para ejecutar nuestro programa lo primero que debemos de hacer es abrir una Terminal. Para abrir la Terminal de Windows (Cntl + r y escribimos cmd
). Una vez
abierta la Terminal debemos dirigirnos a la carpeta creada al principio, que es donde se encuentra nuestro programa helloworld.py
. Para desplazarnos entre
directorios empleamos el comando cd
seguido de la ruta de nuestra carpeta.
cd /Desktop/Curso_Python/
cd /Escritorio/Curso_Python/
Una vez estemos en nuestro directorio, podemos ver los archivos que contiene mediante el comando dir
y vemos nuestro archivo helloworld.py
. Para ejecutar el
programa, simplemente escribimos el comando python
seguido de nuestro programa.
python helloworld.py
Como podéis ver nos reporta nuestra frase. En caso de tener dudas con los parámetros que vamos viendo, podéis revisarlos con el parámetro ayuda -h
.
python -h
Puede parecer muy confuso al principio, pero en un futuro puede resolverte pequeñas dudas.
Vamos a tratar de establecer algún concepto más, ya hemos visto la capacidad de imprimir frases como la de “Hello World”, a cada letra o símbolo incluido dentro
de la frase (incluidos los espacios) se les conoce como caracteres
y al conjunto de estos caracteres se le conoce como string
. Cuando cambiamos cualquier
carácter, ya sea un espacio, una letra minúscula por una mayúscula o incluir cualquier signo, Pyhton interpreta que es un string diferente.
Por Ejemplo
: “Hello World” y “hello World” serían dos strings diferentes, ya que la primera letra no es igual.
Otra cosa que debemos tener en cuenta es que podemos establecer varios strings diferenciándolos únicamente por el tipo de comillas. A continuación podemos ver ejemplos de diferentes strings en función del tipo de comillas.
'Hello World'
"Hello World"
'''Helo World'''
"""Hello World"""
Como podéis ver, existen varias formas de nombrar un string
, pero como podemos saber que interpreta Pyhton como un string? Muy fácil, para ello volvemos a la
Terminal, ejecutamos Python:
python
Y vamos a suponer que queremos saber si "Hello World"
es un string, para ello utilizaremos el argumento type()
.
type("Hello World")
Al ejecutarlo vemos como no nos devuelve el resultado. Esto es debido a que nos falta añadir tambien la función print()para que nos responda mediante la terminal.
print(type("Hello World"))
Vemos como ahora no reporta class 'str'
, donde str
es el diminutivo de string. Vamos a ver otro ejemplo, esta vez con los números:
print(type(100))
Esta vez vemos como nos reporta int
(integral), indicándonos que se trata de un número entero.
Ahora vamos a tratar de incluir este argumento en nuestro programita anterior, en primer lugar, el programa debe imprimir la frase “Hello World” y seguido debe de imprimir el tipo de clase que es. Para ello realizamos lo siguiente:
# Este es mi primer programa
print("Hello World")
print(type("Hello World"))
Guardamos (Cntrl + s) y desde la terminal lo ejecutamos.
Ahora, vemos como nos reporta la frase, y el tipo de clase que es. Bien, ya hemos tocado un poco de Python, ahora vamos a seguir con algo de teoría.
Ahora vamos a ver el concepto de variables
, una variable la podemos definir como un nombre adjunto a un objeto en particular. En Python, las variables no
necesitan ser declaradas o definidas por adelantado, como es el caso en muchos otros lenguajes de programación.
Para crear una variable, simplemente le asignamos un valor y luego ya podemos empezar a utilizarla. La asignación se realiza con un solo signo igual =
:
Ejemplo:
x = 10
y = "F1r0x"
print(x)
print(y)
Como podéis ver aquí establecemos dos variables, al objeto 10
le establecemos el nombre x
, de tal forma que al ejecutar print(x)
directamente nos imprime
10
. De la misma manera establecemos la segunda variable con y
.
Podemos definir varias variables al mismo objeto, teniendo en cuenta que Python lee de arriba para bajo, se interpretará la última variable establecida. Esto puede ser un poco lioso, pero vamos a ver un par de ejemplos.
x = 1000
x = 20
print(x)
Como puedes ver, hemos establecido dos variables al mismo objeto. Como x = 20
es el último establecido, será el único que se imprima por pantalla. En caso de querer
imprimir también el primer valor, debemos de imprimir x
antes del cambio:
x = 1000
print(x)
x = 20 # Cambio de la variable
print(x)
Ahora nos reporta los dos resultados, Python interpreta la primera variable hasta llegar al cambio x = 20
. Algo importante también, es que las variables distinguen
entre mayúsculas y minúsculas:
a = 5 # Estas dos variables son distintas.
A = "F1r0x"
El siguiente concepto que vamos a ver dentro de las variables, es como indicar el tipo de datos
de una variable.
x = str(5) # Establecemos la variable como String '5'
y = int(5) # Establecemos la variable como Entero 5
z = float(5) # Establecemos la variable como Float 5.0
De esta forma podemos ejecutar una variable de varias formas distintas. Podéis comprobarlo imprimiendo mediante print()
las distintas variables:
x = str(5) # Establecemos la variable como String '5'
y = int(5) # Establecemos la variable como Entero 5
z = float(5) # Establecemos la variable como Float 5.0
print(x)
print(y)
print(z)
También podemos obtener el tipo de datos de un variable con el argumento type()
, para ver un ejemplo crearemos dos nuevas variables x = 10
y y = "F1r0x"
y queremos reportar el tipo de variable:
x = 10
y = "F1r0x"
print(type(x))
print(type(y))
Ya hemos visto como establecer variables, lo único es que los nombres que hemos establecido a las variables son muy simples (básicamente x
y y
). ¿Qué ocurre
si queremos establecer nombres más largos y más específicos? Pues en primer lugar debemos de saber que no podemos asignar el nombre que queramos, existen unos
parámetros que Python interpretará como nombres y otros que los interpretará como variables ilegales. Veamos las reglas básicas de Python:
Nombres de variables Legales
:
Ejemplo:
minombre = "F1r0x"
mi_nombre = "F1r0x"
_mi_noimbre = "F1r0x"
miNombre = "F1r0x"
MINOMBRE = "F1r0x"
minombre11 = "F1r0x"
Nombre de variables Ilegales
:
Ejemplo:
1minombre = "F1r0x"
mi-nombre = "F1r0x"
mi nombre = "F1r0x"
Estos tres últimos ejemplos, Python no será capaz de interpretarlos y nos reportará un error.
Para las variables largas, podemos utilizar varias técnicas para facilitar su lectura:
Carmel:
Cada palabra, excepto la primera, comienza con una letra mayúscula:
miVaribleNombre = "F1r0x"
Pascual:
Cada palabra comienza con una letra mayúscula:
MiVariableNombre = "F1r0x"
Snake:
Cada palabra está separada por un carácter de subrayado:
mi_variable_nombre = "F1r0x"
Ya sabemos estableces variables y podemos llamarlas de múltiples maneras. Ahora vamos a ver como establecer distintas variables sin necesidad de escribir código de más, ya que podemos establecer distintas variables en la misma línea de código. Esto lo podemos ejecutar de la siguiente manera:
x, y, z = "Unos", "Dos", "Tres"
print(x)
print(y)
print(z)
Otra cosa que también podemos hacer es establecer un valor para múltiples variables. De esta forma ejecutando cualquiera de esas variables, obtendremos el mismo resultado:
x = y = z = "Unos", "Dos", "Tres"
print(x)
print(y)
print(z)
El siguiente concepto que vamos a ver son las listas
se utilizan para almacenar varios elementos en una sola variable. Para crear listas se emplean los
corchetes []
. Vamos a ver un ejemplo y crear una lista simple:
milista = ["Uno", "Dos", "Tres"]
print(milista)
Los elementos de la lista están ordenados, se pueden cambiar y permiten valores duplicados. Estos elementos están indexados, el primer elemento tiene un índice
0
, el segundo 1
y así sucesivamente. Las listas están ordenadas, significa que los elementos tienen un orden definido y ese orden no cambiará.
La lista se puede cambiar, lo que significa que podemos cambiar, agregar y eliminar elementos en una lista después de que se haya creado. Debido a que las listas están indexadas, las listas pueden tener elementos con el mismo valor.
milista = ["Uno", "Dos", "Tres", "Uno"]
print(milista)
En el index número 3
tengo establecido el nombre Uno
, al igual que en el index 0
. Ahora, que ocurre cuando tenemos listas muy largas y queremos saber
la longitud
de la lista, para ello utilizamos la función len()
y nos reporta el número de nombres que componen la lista:
milista = ["Uno", "Dos", "Tres", "Uno"]
print(len(milista))
Ahora vamos a ver como extraer, los distintos nombres de una lista y asignarlos a varias variables, esto se conoce como unpacking
.
comida = ["arroz", "pizza", "sopa"] # Nuestra lista
x, y, z = comida # Asignamos nuestras tres variables a la lista comida.
print(x) # Imprime el primer valor de la lista comida.
print(y) # Imprime el segundo valor de la lista.
print(z)
Al estar las listas indexadas, vemos como nos reporta los nombres de la lista en el mismo orden que hemos establecido las variables.
La función de Python print() se usa a menudo para generar variables y reportarlas por consola, como hemos visto anteriormente. Vamos a ver un poco más a fondo
su funcionamiento. Esta función permite generar múltiples variables separándolas por una coma ,
.
x = "Hello"
y = "World"
print(x, y)
Como vemos nos reporta los nombres de las variables separados por un espacio. Otra forma de generar varias variables es utilizando el signo +
, al utilizar el
signo de suma los nombres de las variables y se reportarán sin espacios entre los nombres.
x = "Hello"
y = "World"
print(x + y)
También podemos utilizar el carácter +
como operador matemático, para ello establecemos dos variables numéricas y establecemos la suma en la función print()
:
x = 10
y = 20
print(x + y)
Obviamente, esta función solo es funcional con variables numéricos, en caso de intentar sumar una cadena y un número se nos reportará un error.
x = "F1r0x"
y = 20
print(x + y) # Nos reportará un error. No puede sumar F1r0x y 20.
En caso de querer imprimir dos variables diferentes, es mejor usar print()
separando las variables por una coma.
x = "F1r0x"
y = 20
print(x, y) # Correcto. Nos reportará: F1rox 20
En Python, una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
Las funciones ayudan a dividir nuestro programa en partes más pequeñas y modulares. A medida que nuestro programa crece más y más, las funciones lo hacen más organizado y manejable.
Además, evita la repetición y hace que el código sea reutilizable. Su sintaxis básica sería la siguiente:
def nombre_función(parámetros):
"""cadena de documentación"""
declaraciones)
Como podéis ver, la definición de una función consta de los siguientes componentes:
Palabra clave def
: Marca el inicio del encabezado de la función.Nombre de la función
: Identifica de forma única la función. La nomenclatura de funciones sigue las mismas reglas de escritura de identificadores en Python.Parámetros
: (Argumentos) A través de los cuales pasamos valores a una función. Son opcionales.Dos puntos (:)
: Se utiliza para marcar el final del encabezado de la función.Cadena de documentación opcional
: (Docstring) Es básicamente un comentario para describir lo que hace la función.Las declaraciones deben tener el mismo nivel de sangría (generalmente 4 espacios). También podemos incluir de manera opcional una declaración return
para
devolver un valor de la función. Entraremos en detalle sobre estos conceptos más adelante.
Vamos a ver algunos ejemplos, primero vamos a crear una variable fuera de una función x
y la utilizaremos dentro de la función:
x = "World" # Variable fuera de la función.
def mifuncion():
print("Hello " + x)
mifuncion()
También está la opción de crea una variable con el mismo nombre dentro de una función, esta variable será local y solo se puede usar dentro de la función. La variable global con el mismo nombre quedará como estaba, global y con el valor original.
x = "World" # Variable fuera de la función.
def mifuncion():
x = "F1r0x"
print("Hello " + x)
mifuncion()
print("Hello " + x)
De la misma forma que hemos creado una variable global fuera de la función, podemos definirla dentro. Esto lo podemos realizar utilizando la palabra clave
global
dentro de la función:
def mifuncion():
global x
x = "World"
mifuncion()
print("Hello " + x)
Ya hemos visto muy por encima varios conceptos, hemos visto las variables, las listas, las funciones y ahora vamos a tratar de profundizar un poco más utilizando los disntintos conceptos.
Vamos a tratar de explicar algunas funciones, hemos visto como imprimir mediante print()
y como podemos ejecutar un string
como por ejemplo
print("Hello Wold")
. Esto esta muy bien, pero para poder ver las funciones que podeos aplicar a este string se utiliza la funcion dir()
:
miString = "Hello World"
print(dir(miString))
Aquí podeís ver todas las opciones que le podemos aplicar al string “Hello World”. El primer ejemplo q vamos a ver es upper()
(uppercase = mayúscula) que nos
muestra el string en mayúsculas
.
miString = "Hello World"
print(miString.upper())
La sintaxis mantiene primero la función, seguido de la variable y finalmente, introducimos separado por un punto .
la función que modifica nuestro string.
Vemos como la funcion upper()
ha modificado com pletamente nuestra variable, mostrandonos todo su contenido en mayúsculas.
También podemos realizar la operación contraria, utilzando la función lower()
podemos representar el string en minúsculas
.
miString = "Hello World"
print(miString.upper())
print(miString.lower())
Existen una gran cantidad de funciones con multiples finalidades, otro ejemplo es la funcion swapcase()
que nos reportará la primera letra de cada
palabra en minúscula
seguido de el resto de la palabra en mayúsculas
.
miString = "Hello World"
print(miString.upper())
print(miString.lower())
print(miString.swapcase())