Tutorial de python – Parte 1

Empezando con Python

Antes de comenzar a programar con Python me gustaría aportar algo de cultura general.

Python es un lenguaje de scripting de alto nivel, interpretado, interactivo y orientado a objetos y estas son algunas de sus características:

  • Es un lenguaje que se procesa en tiempo de ejecución por el intérprete, no necesita compilar su programa antes de ejecutarlo al igual que hace PHP.
  • Es interactivo, ya que desde su “CLI” podemos escribir y ejecutar el código.
  • Está orientado a objetos.
  • Admite métodos de programación funcionales, estructurados y OOP.
  • Podemos usarlo como un script o compilarlo.

Como en cualquier lenguaje de programación, necesitaremos un software para editar nuestro código.

Existen multitud de editores de código (IDE), pero para este curso voy a usar Visual Studio Code que es ligero y tiene un listado de extensiones bastante amplio tanto para Python como para otros lenguajes.

Cuando tengamos descargado e instalado nuestro IDE, continuaremos descargando desde aqui Python.

En este punto si todo ha salido correctamente, deberíamos tener instalado Visual Studio Code Python.

Primer script en Python

Abrimos Visual Studio Code y seleccionamos una carpeta donde guardaremos todos los archivos del curso.

Como en todos los lenguajes, usaremos el famoso “Hola mundo”.

# Definimos nuestro intérprete
#!/usr/bin/env python
# Definimos la codificación para evitar problemas
#_*_ coding: utf8 _*_
# Mostramos en pantalla el mensaje
print("Hello World Python")

Copiamos el código y lo guardamos con el nombre example1.py.

A continuación abrimos un terminal dentro de Visual Studio Code y ejecutamos nuestro código.

Como podemos ver hemos creado con unas pocas lineas de código nuestro primer programa en Python.

Fundamentos en Python

Python como ocurre en otros lenguajes de programación nos ofrece un sistema de comentarios para el código.

Si queremos realizar algún comentario usaremos la almohadilla (#) para una sola linea o triple comilla () al principio y final para múltiples lineas.

Para nombrar los identificadores (variables, clases, funciones, módulos o cualquier otro tipo), deberemos usar una letra mayúscula, minúscula o guión bajo (_).

Python no permite usar los caracteres ‘@’, ‘$’ y ‘%’ dentro de los identificadores, ademas de ser sensible a las mayúsculas y las minúsculas.

Dentro de Python existen unas convenciones para definir los identificadores:

  • Los nombres de clase comienzan con una letra mayúscula. Todos los demás identificadores comienzan con una letra minúscula.
  • Comenzar un identificador con un solo guión bajo indica que el identificador es privado.
  • Comenzar un identificador con dos guiones bajos indica un identificador fuertemente privado.
  • Si el identificador también termina con dos guiones bajos, el identificador es un nombre especial definido por el idioma.

Palabras reservadas

En la siguiente lista se muestra las palabras reservadas en Python, y no deben usarse nunca como constantes o variables:

  • and, exec, not, assert, finally, or, break, form pass, class, from, print, continue, global, raise, def, if, return, del, import, try, elif, in, while, else, is, withm except, lambda, yield

Líneas y sangría

Python no usa llaves para indicar bloques de código para las definiciones de clase, funciones o control de flujo.

Los bloques de código se marcan mediante una tabulación, que se aplica de forma rígida.

El número de espacios en la sangría es variable, pero todas las declaraciones dentro del bloque deben sangrar la misma cantidad.

if True: 
   print "True" 
else: 
   print "False"

Por lo tanto, todas las líneas continuas que estén tabuladas con el mismo número de espacios formarían un bloque.

Tipo de variables

La variables son zonas de la memoria reservadas para almacenar un valor, así que cada vez que definimos una variable y asignamos un valor, Python reserva un espacio en la memoria.

#!/usr/bin/python 
#operando = valor
edad = 40

Python nos permite realizar asignaciones múltiples es una sola linea.

x = y = z = 10

Python ofrece diferentes tipos de datos estándar:

  • Number
    • int: Enteros con signo (10, 100, -50, 0x100)
    • long: Enteros largos (534232422L, -0x3343L, 0x4543443L)
    • float: Reales coma flotante (0.4, -10.56, 50.44e10)
    • complex: Complejos (10j, -0.65j)
  • Boolean
  • String
    • Usaremos el signo ‘+‘ para concatenar texto y los corchetes ‘[:]‘ para obtener partes del texto.
    • #!/usr/bin/python 
      str = 'Hello World!' 
      print (str) # Hello World 
      print (str[4]) # 0 
      print (str[1:3]) # ell 
      print (str[4:]) # o World 
      print (str * 2) # Hello World Hello World 
      print (str + " Python") # Hello World! Python
  • List
    • Son parecidos a los arrays de otros lenguajes de programación, pero ademas nos permite almacenar diferentes tipos de datos en la misma lista.
    • Como ocurre en los tipos string, accedemos a los valores usando los corchetes ‘[:]‘, podemos concatenar listas con el signo ‘+‘ y realizar repeticiones usando el ‘*
    • #!/usr/bin/python
      list = ['qwerty', 123 , 2.23]
      list2 = ['Hello', 'World', 'Python']
      print (list)            # ['qwerty', 123 , 2.23]
      print (list[0])         # qwerty
      print (list[1:2])       # [123, 2.23]
      print (list[1:])        # [123, 2.23]
      print (list * 2)        # ['qwerty', 123 , 2.23, 'qwerty', 123 , 2.23]
      print (list + list2)    # ['qwerty', 123 , 2.23, 'Hello', 'World', 'Python']
      list[0] = 'asdfg'       # Sintaxis correcta
      print (list)            # ['asdfg', 123, 2.23
  • Tuple
    • Parecidas a las listas, pero en vez de corchetes se usan paréntesis ‘()’
    • Las tuplas (tuple) no se pueden actualizar, podemos decir que son de solo lectura.
    • #!/usr/bin/python 
      tuple = ('qwerty', 123 , 2.23) 
      tuple2 = ('Hello', 'World', 'Python') 
      print (tuple) # ('qwerty', 123 , 2.23) 
      print (tuple * 2) # ('qwerty', 123 , 2.23, 'qwerty', 123 , 2.23) 
      print (tuple + tuple2) # ('qwerty', 123 , 2.23, 'Hello', 'World', 'Python') 
      tuple[0] = 'asd' # Sintaxis inválida
  • Dictionary
    • Los diccionarios en Python funcionan como matrices asociativas y consisten en pares clave-valor.
    • Una clave de diccionario puede ser casi cualquier tipo de Python, y el valor puede ser cualquier objeto arbitrario de Python.
    • Los diccionarios están encerrados entre llaves ‘{}‘ y los valores se pueden asignar y acceder usando corchetes ‘[]
    • #!/usr/bin/python 
      dic1 = {} 
      dic1['uno'] = "Uno" 
      dic1[2] = "Dos" 
      dic2 = {'nombre': 'Jose', 'edad': 30} 
      print (dic1['uno']) 
      print (dic1[2])
      print (dic2) 
      print (dic2.keys()) 
      print (dic2.values())

Con esta pequeña introducción, ya tenemos las nociones básicas para empezar a programar en Python.