F1r0x
Curso Python
GitHub
Python

Índice:

  • 1.1 ¿Qué es Python?
  • 1.2 Ventajas de programar en Python.
  • 1.3 Programas Necesarios para programar en Python.
  • 1.3 Interprete de Python.
  • 1.3 Editor de Código.
  • 1.4 Dinámica de trabajo.
  • 2.1 Crear Nuestro Primer Programa: Hello World.
  • 2.2 Tipos de Data en Python: Datatypes.
  • 2.2 Variables.
  • 2.2 Listas.
  • 2.2 Función print().
  • 2.2 Definir una función.
  • ¿Qué es Python?

    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.

    Ventajas de programar en Python:

    Programas Necesarios para programar en Python:

    Interprete de Python:

    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.

    Python1

    Screenshot 2022-06-07 080832

    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.

    Screenshot 2022-06-07 081039

    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
    

    Screenshot 2022-06-07 081356

    Screenshot 2022-06-07 081534

    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
    

    Screenshot 2022-06-07 081426

    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().

    Screenshot 2022-06-07 081636

    Editor de Código:

    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.

    Screenshot 2022-06-07 081905

    Screenshot 2022-06-07 081932

    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.

    Screenshot 2022-06-07 082001

    Dinámica de trabajo:

    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.

    Crear Nuestro Primer Programa: Hello World

    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.

    Screenshot 2022-06-07 093039

    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.

    Screenshot 2022-06-07 093905

    Screenshot 2022-06-07 093558

    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.

    Screenshot 2022-06-07 094110

    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")   
    

    Screenshot 2022-06-07 094243

    Finalmente, para guardar nuestro proyecto podemos dirigirnos a File y Save o utilizando el atajo Ctrl + s.

    Screenshot 2022-06-07 094551

    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/
    

    Screenshot 2022-06-07 094954

    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
    

    Screenshot 2022-06-07 095305

    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.

    Tipos de Data en Python: Datatypes

    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")
    

    Screenshot 2022-06-07 094929

    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"))
    

    Screenshot 2022-06-08 133500

    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))

    Screenshot 2022-06-08 133611

    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"))
    

    Screenshot 2022-06-08 131601

    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.

    Variables

    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)
    

    Screenshot 2022-06-08 131753

    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)
    

    Screenshot 2022-06-08 131916

    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)
    

    Screenshot 2022-06-08 131944

    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)
    

    Screenshot 2022-06-08 132030

    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))
    

    Screenshot 2022-06-08 132100

    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)
    

    Screenshot 2022-06-08 132131

    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)
    

    Screenshot 2022-06-08 132208

    Listas

    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)
    

    Screenshot 2022-06-08 132238

    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))
    

    Screenshot 2022-06-08 132406

    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)
    

    Screenshot 2022-06-08 132444

    Al estar las listas indexadas, vemos como nos reporta los nombres de la lista en el mismo orden que hemos establecido las variables.

    Función print()

    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)
    

    Screenshot 2022-06-08 132510

    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)
    

    Screenshot 2022-06-08 132533

    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)
    

    Screenshot 2022-06-08 132555

    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.
    

    Screenshot 2022-06-08 132637

    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
    

    Screenshot 2022-06-08 132708

    Como Definir una Función

    ¿Qué es una Función?

    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:

    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()
    

    Screenshot 2022-06-08 132736

    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)
    

    Screenshot 2022-06-08 132800

    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)
    

    Screenshot 2022-06-08 132820

    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))
    

    Screenshot 2022-06-08 132853

    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())
    

    Screenshot 2022-06-08 134905

    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())
    

    Screenshot 2022-06-08 135751

    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())
    

    Screenshot 2022-06-08 140140