1. Sintaxis de Python

1.1. Formato de archivo

  • .py

1.2. Software necesario

  • Editor de código
  • Interpretador Python (los archivos se ejecutan con el comando python3 archivo.py o similar, según versión)

1.3. Estructura del código

  • Se utiliza la indentación, no se usan llaves (en bloques) ni puntos y coma (para finalizar la sentencia)
  • Indentación estándar son cuatro espacios, pero sirven las tabulaciones y otros espacios si es consistente
  • Los comentarios se inician con # (uno por línea)

1.4. Variables

  • No se declaran, se inician directamente:
    • x = 5
    • x = “Hola”
    • x = 2.7
    • x = float(2) => 2.0
    • x,y = 2,3

1.5. Imprimir texto - concatenación

  • print
    • print(“Hola”)
    • print(x)
    • Añade nueva línea automáticamente
    • Concatenación con +
      • print(“Hola “ + x)
    • print(“Hola %s” %x)
      • %s: string; %d: integer; %f: float; %.2f: float con dos decimales
    • print(“Hola %s %s“ %(a, b))
  • arr1 + arr2 : Une dos listas o arrays
  • Repetición con *
    • print(“Hola” * 5)
      • HolaHolaHolaHolaHola

1.6. Listas

  • Similar a los arrays
    • x = []
    • x = () (es otro tipo de array, no se puede concatenar con [])
    • x = [1, 2]
  • Índices empiezan en cero
    • x = [“Hola”, “Mundo”]
    • x[1] => “Mundo”
  • Añadir elementos a la lista
    • x.append(“Adiós”)
    • arr1+arr2 (no suma los elementos, concatena)
  • Conocer longitud de una lista
    • x.__len__()

1.7. Diccionarios

  • Similar a listas, estilo parámetro=valor
    dicc={}
    dicc[“Jose”] = 35000
    dicc = {
    “Jose”: 35000,
    “Ricardo”: 50000
    }
  • Borrar un valor
    • del dicc[“Ricardo”]
    • dicc.pop[“Ricardo”]

1.8. Operadores

  • Aritméticos
    • + - * / %
  • Booleanos
    ==
    !=
    >
    >=
    <
    <=
    is
    not
    Otros
    and
    or

1.9. Condicionales

  • If
    if x == “Hola”:
        print(x)
    if x == “Hola” and y == “Mundo”:
        print(x + “ ” + y)
    if x in arr:  #Comprueba si x está en la lista arr
  • Elif (else if) y else
    if x == 2:
        print(x)
    elif x == 3:
        print(y)
    else:
        print(z)

1.10. Bucles

  • For
    for i in array:
    print(i)
    for i in range(5):
    print(i)
    #Salida
    1
    2
    3
    4
    for i in range(3,8,2):
    print(i)
    #Salida
    3
    5
    7
    for nombre, salario in dicc.items:
    print(“Nombre: %s, salario: %d” %(nombre, salario))
  • While
    x = 0
    while x < 5:
    print(x)
    x+=1
  • Break
    • Interrumpe el bucle por completo
      while x < 5:
      if x == 3:
      break
      print(x)
      x+=1
  • Continue
    • Salta una parte del bucle
  • Else
    • Por si el bucle no puede ejecutarse

1.11. Excepciones (errores)

  • Definición y tipos:
    • Las excepciones son problemas que pueden surgir al ejecutar un programa. Existen de varios tipos:
      • ImportError (falla una importación)
      • IndexError (índice fuera del rango de una lista)
      • NameError (variable desconocida)
      • SyntaxError (fallo en la sintaxis)
      • TypeError (tipo inapropiado)
      • ValueError (una función es llamada con un valor de tipo apropiado pero valor incorrecto)
      • ZeroDivisionError
  • Manejo de excepciones
    • Bloque try/except
      try:
      código
      except TipoError:
      código si hay error
      • Pueden incluirse varios except y varios tipos en un mismo except. También puede no incluirse ninguna excepción para que recoja todos los posibles errores.
      • finally: código que se ejecuta haya o no errores.
  • Levantar errores (raise)
    • raise ValueError
    • raise ValueError(“Texto opcional”)
    • En un bloque try/catch provoca que se levante de nuevo la excepción del bloque
  • Comprobación de validez (assert)
    • Comprueba la veracidad de una expresión y muestra el error AssertionError si el resultado es falso. Provoca que el resto del programa no se ejecute.
    • assert 1 + 1 == 3
    • assert (a > 0), “Texto opcional”

1.12. Funciones

  • Definición
    def mifuncion():
        print(“Hola”)
    def mifuncion(n1, n2):
        return n1*n2
  • Llamar a la función
    mifuncion()
    print(mifuncion(2, 3))

1.13. Importaciones

  • Se pueden importar funciones de otros módulos instalados con la expresión “import”
    • import math
    • import random as rd (permite usar abreviaturas personalizadas)
    • from math import random (para importar una función concreta de una librería)
  • pip
    • Es un instalador de módulos
    • En windows, se encuentra en la ruta C:PythonScripts
    • Instalar librería
      • pip3 install numpy
      • python.exe -m pip install numpy (opción en Windows)
    • Actualizar librería
      • pip3 install –-upgrade librería

1.14. Clases y objetos

  • Definición de una clase
    class Persona():
    edad = 0
    def __init__(self, argumento):
        self.status = argumento
        print(self.status)
        def metodo(self, argumento):
                codigo
  • Nuevo objeto
    • objeto = miclase()
  • Acceder a una propiedad
    • objeto.propiedad
  • Acceder a un método
    • objeto.funcion()
  • Clase que hereda de otra clase
    class Perro(Animal):
        <codigo>
  • Los atributos o propiedades pueden crearse en el objeto directamente, los métodos solo pueden crearse en la clase.

1.15. Trabajo con archivos

  • Abrir un archivo
    • archivo = open(“ejemplo.txt”, <<modo>>)
    • Modos: r (lectura), w (escritura, crea el archivo si no existe), a (anexo, añade al final del archivo), b (archivos binarios, como imágenes)
  • Leer un archivo
    lect = archivo.read(<<bytes>>)
    print(lect)
    • Varios “read” leen de forma continua el documento (no empiezan desde el principio)
    • lect = archivo.readlines()
  • Escribir en un archivo
    • archivo.write(“Texto”)
  • Cerrar un archivo una vez utilizado
    • archivo.close()