Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Manual de introducción a Python, Resúmenes de Programación para Ingenierios

Introduccion a python y a la programacion

Tipo: Resúmenes

2020/2021

Subido el 24/06/2022

ismael-fernando-calle-rojas
ismael-fernando-calle-rojas 🇧🇴

1 documento

1 / 98

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Referencias
Alfredo Sánchez Alberca
Febrero 2020
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62

Vista previa parcial del texto

¡Descarga Manual de introducción a Python y más Resúmenes en PDF de Programación para Ingenierios solo en Docsity!

Referencias

Alfredo Sánchez Alberca

Febrero 2020

Referencias Índice general

  • 1 Introducción a Python Índice general
    • 1.1 ¿Qué es Python?
    • 1.2 Principales ventajas de Python
    • 1.3 Tipos de ejecución
      • 1.3.1 Interpretado en la consola de Python
      • 1.3.2 Interpretado en fichero
      • 1.3.3 Compilado a bytecode
      • 1.3.4 Compilado a ejecutable del sistema
  • 2 Tipos de datos simples
    • 2.1 Tipos de datos primitivos simples
    • 2.2 Tipos de datos primitivos compuestos (contenedores)
    • 2.3 Clase de un dato (type())
    • 2.4 Números (clases int y float)
      • 2.4.1 Operadores aritméticos
      • 2.4.2 Operadores lógicos con números
    • 2.5 Cadenas (clase str)
      • 2.5.1 Acceso a los elementos de una cadena
      • 2.5.2 Subcadenas
      • 2.5.3 Operaciones con cadenas
      • 2.5.4 Operaciones de comparación de cadenas
      • 2.5.5 Funciones de cadenas
      • 2.5.6 Cadenas formateadas (format())
    • 2.6 Datos lógicos o booleanos (clase bool)
      • 2.6.1 Operaciones con valores lógicos
      • 2.6.2 Tabla de verdad
    • 2.7 Conversión de datos primitivos simples
    • 2.8 Variables
    • 2.9 Entrada por terminal (input())
      • 2.9.1 Salida por terminal (print())
  • 3 Estructuras de control
    • 3.1 Condicionales (if)
    • 3.2 Bucles condicionales (while)
    • 3.3 Bucles iterativos (for)
  • 4 Tipos de datos estructurados Referencias Índice general
    • 4.1 Listas
      • 4.1.1 Creación de listas mediante la función list()
      • 4.1.2 Acceso a los elementos de una lista
      • 4.1.3 Sublistas
      • 4.1.4 Operaciones que no modifican una lista
      • 4.1.5 Operaciones que modifican una lista
      • 4.1.6 Copia de listas
    • 4.2 Tuplas
      • 4.2.1 Creación de tuplas mediante la función tuple()
      • 4.2.2 Operaciones con tuplas
    • 4.3 Diccionarios
      • 4.3.1 Acceso a los elementos de un diccionario
      • 4.3.2 Operaciones que no modifican un diccionario
      • 4.3.3 Operaciones que modifican un diccionario
      • 4.3.4 Copia de diccionarios
  • 5 Funciones
    • 5.1 Funciones (def)
      • 5.1.1 Parámetros y argumentos de una función
      • 5.1.2 Paso de argumentos a una función
      • 5.1.3 Retorno de una función
    • 5.2 Argumentos por defecto
    • 5.3 Pasar un número indeterminado de argumentos
    • 5.4 Ámbito de los parámetros y variables de una función
    • 5.5 Ámbito de los parámetros y variables de una función
    • 5.6 Paso de argumentos por referencia
    • 5.7 Documentación de funciones
    • 5.8 Funciones recursivas
      • 5.8.1 Funciones recursivas múltiples
      • 5.8.2 Los riesgos de la recursión
    • 5.9 Programación funcional
      • 5.9.1 Funciones anónimas (lambda)
      • 5.9.2 Aplicar una función a todos los elementos de una colección iterable (map)
      • 5.9.3 Filtrar los elementos de una colección iterable (filter)
      • 5.9.4 Combinar los elementos de varias colecciones iterables (zip)
      • 5.9.5 Operar todos los elementos de una colección iterable (reduce)
    • 5.10 Comprensión de colecciones Referencias Índice general
      • 5.10.1 Comprensión de listas
      • 5.10.2 Comprensión de diccionarios
  • 6 Ficheros
    • 6.1 Ficheros
      • 6.1.1 Creación y escritura de ficheros
      • 6.1.2 Añadir datos a un fichero
      • 6.1.3 Leer datos de un fichero
      • 6.1.4 Leer datos de un fichero
      • 6.1.5 Cerrar un fichero
      • 6.1.6 Renombrado y borrado de un fichero
      • 6.1.7 Renombrado y borrado de un fichero o directorio
      • 6.1.8 Creación, cambio y eliminación de directorios
      • 6.1.9 Leer un fichero de internet
  • 7 Excepciones
    • 7.1 Control de errores mediante excepciones
      • 7.1.1 Tipos de excepciones
      • 7.1.2 Control de excepciones
      • 7.1.3 Control de excepciones
  • 8 Programación Orientada a Objetos
    • 8.1 Objetos
      • 8.1.1 Acceso a los atributos y métodos de un objeto
    • 8.2 Clases (class)
      • 8.2.1 Clases primitivas
      • 8.2.2 Instanciación de clases
      • 8.2.3 Definición de métodos
      • 8.2.4 El método init
      • 8.2.5 Atributos de instancia vs atributos de clase
      • 8.2.6 El método str
    • 8.3 Herencia
      • 8.3.1 Jerarquía de clases
      • 8.3.2 Sobrecarga y polimorfismo
    • 8.4 Principios de la programación orientada a objetos
  • 9 Módulos Referencias Índice general
    • 9.1 Módulos
      • 9.1.1 Importación completa de módulos (import)
      • 9.1.2 Importación parcial de módulos (from import)
      • 9.1.3 Módulos de la librería estándar más importantes
      • 9.1.4 Otras librerías imprescindibles
  • 10 La librería datetime
    • 10.1 Los tipos de datos date, time y datetime
    • 10.2 Acceso a los componentes de una fecha
    • 10.3 Conversión de fechas en cadenas con diferentes formatos
    • 10.4 Conversión de cadenas en fechas
    • 10.5 Aritmética de fechas
  • 11 La librería Numpy
    • 11.1 La clase de objetos array
    • 11.2 Creación de arrays
    • 11.3 Atributos de un array
    • 11.4 Acceso a los elementos de un array
    • 11.5 Filtrado de elementos de un array
    • 11.6 Operaciones matemáticas con arrays
    • 11.7 Operaciones matemáticas a nivel de array
  • 12 La librería Pandas
    • 12.1 Tipos de datos de Pandas
    • 12.2 La clase de objetos Series
    • 12.3 Creación de una serie a partir de una lista
    • 12.4 Creación de una serie a partir de un diccionario
    • 12.5 Atributos de una serie
    • 12.6 Acceso a los elementos de una serie
      • 12.6.1 Acceso por posición
      • 12.6.2 Acceso por índice
    • 12.7 Resumen descriptivo de una serie
    • 12.8 Aplicar operaciones a una serie
    • 12.9 Aplicar funciones a una serie
    • 12.10Filtrado de una serie
    • 12.11Ordenar una serie
    • 12.12Eliminar los dados desconocidos en una serie
    • 12.13La clase de objetos DataFrame
    • 12.14Creación de un DataFrame a partir de un diccionario de listas Referencias Índice general
    • 12.15Creación de un DataFrame a partir de una lista de listas
    • 12.16Creación de un DataFrame a partir de una lista de diccionarios
    • 12.17Creación de un DataFrame a partir de un array
    • 12.18Creación de un DataFrame a partir de un fichero CSV o Excel
    • 12.19Exportación de ficheros
    • 12.20Atributos de un DataFrame
    • 12.21Renombrar los nombres de las filas y columnas
    • 12.22Reindexar un DataFrame
    • 12.23Acceso a los elementos de un DataFrame
    • 12.24Accesos mediante posiciones
    • 12.25Acceso a los elementos mediante nombres
    • 12.26Operaciones con las columnas de un DataFrame
    • 12.27Añadir columnas a un DataFrame
    • 12.28Operaciones sobre columnas
    • 12.29Aplicar funciones a columnas
    • 12.30Convertir una columna al tipo datetime
    • 12.31Resumen descriptivo de un DataFrame
    • 12.32Eliminar columnas de un DataFrame
    • 12.33Operaciones con las filas de un DataFrame
    • 12.34Añadir una fila a un DataFrame
    • 12.35Eliminar filas de un DataFrame
    • 12.36Filtrado de las filas de un DataFrame
    • 12.37Ordenar un DataFrame
    • 12.38Eliminar las filas con dados desconocidos en un DataFrame
    • 12.39Agrupación de un DataFrame
    • 12.40Dividir un DataFrame en grupos
    • 12.41Aplicar una función de agregación por grupos
    • 12.42Reestructurar un DataFrame
    • 12.43Convertir un DataFrame a formato largo
    • 12.44Convertir un DataFrame a formato ancho
  • 13 La librería Matplotlib
    • 13.1 Creación de gráficos con matplotlib
    • 13.2 Diagramas de dispersión o puntos
    • 13.3 Diagramas de líneas
    • 13.4 Diagramas de areas
    • 13.5 Diagramas de barras verticales
    • 13.6 Diagramas de barras horizontales Referencias Índice general
    • 13.7 Histogramas
    • 13.8 Diagramas de sectores
    • 13.9 Diagramas de caja y bigotes
    • 13.10Diagramas de violín
    • 13.11Diagramas de contorno
    • 13.12Mapas de color
    • 13.13Cambiar el aspecto de los gráficos
    • 13.14Colores
    • 13.15Marcadores
    • 13.16Líneas
    • 13.17Títulos
    • 13.18Ejes
    • 13.19Leyenda
    • 13.20Rejilla
    • 13.21Múltiples gráficos
    • 13.22Integración con Pandas
  • 14 Apéndice: Depuración de código
    • 14.1 Depuración de programas
      • 14.1.1 Comandos de depuración
      • 14.1.2 Depuración en Visual Studio Code
  • 15 Bibliografía
    • 15.1 Referencias
      • 15.1.1 Webs
      • 15.1.2 Libros y manuales
      • 15.1.3 Vídeos

Referencias 1 INTRODUCCIÓN A PYTHON

1 Introducción a Python

1.1 ¿Qué es Python?

Python es un lenguaje de programación de alto nivel multiparadigma que permite:

  • Programación imperativa
  • Programación funcional
  • Programación orientada a objetos

Fue creado por Guido van Rossum en 1990 aunque actualmente es desarrollado y mantenido por la Python Software Foundation

1.2 Principales ventajas de Python

  • Es de código abierto (certificado por la OSI).
  • Es interpretable y compilable.
  • Es fácil de aprender gracias a que su sintaxis es bastante legible para los humanos.
  • Es un lenguaje maduro (29 años).
  • Es fácilmente extensible e integrable en otros lenguajes (C, java).
  • Esta mantenido por una gran comunidad de desarrolladores y hay multitud de recursos para su aprendizaje.

1.3 Tipos de ejecución

1.3.1 Interpretado en la consola de Python

Se ejecuta cada instrucción que introduce el usuario de manera interactiva.

1 > python 2 >>> name = "Alf" 3 >>> print("Hola ", name) 4 Hola Alf

1.3.2 Interpretado en fichero

Se leen y se ejecutan una a una todas las instrucciones del fichero.

1 # Fichero hola.py 2 name = "Alf" 3 print ("Hola ", name)

Referencias 2 TIPOS DE DATOS SIMPLES

  • Cadenas (strings): Secuencia de caracteres alfanuméricos que representan texto. Se escriben entre comillas simples o dobles. Ejemplo. ‘Hola’, “Adiós”.
  • Booleanos (boolean): Contiene únicamente dos elementos True y False que representan los valores lógicos verdadero y falso respectivamente.

Estos datos son inmutables, es decir, su valor es constante y no puede cambiar.

2.2 Tipos de datos primitivos compuestos (contenedores)

  • Listas (lists): Colecciones de objetos que representan secuencias ordenadas de objetos de dis‑ tintos tipos. Se representan con corchetes y los elementos se separan por comas. Ejemplo. [1, “dos”, [3, 4], True].
  • Tuplas (tuples). Colecciones de objetos que representan secuencias ordenadas de objetos de distintos tipos. A diferencia de las listas son inmutables, es decir, que no cambian durante la ejecución. Se representan mediante paréntesis y los elementos se separan por comas. Ejemplo. (1, ‘dos’, 3)
  • Diccionarios (dictionaries): Colecciones de objetos con una clave asociada. Se representan con llaves, los pares separados por comas y cada par contiene una clave y un objeto asociado sepa‑ rados por dos puntos. Ejemplo. {‘pi’:3.1416, ‘e’:2.718}.

2.3 Clase de un dato (type())

La clase a la que pertenece un dato se obtiene con el comando type()

1 >>> type (1) 2 < class 'int'> 3 >>> type ("Hola") 4 < class 'str'> 5 >>> type ([1, "dos", [3, 4], True]) 6 < class 'list'> 7 >>> type ({'pi':3.1416, 'e':2.718}) 8 < class 'dict'> 9 >>> type ((1, 'dos', 3)) 10 < class 'tuple'>

2.4 Números (clases int y float)

Secuencia de dígitos (pueden incluir el ‑ para negativos y el. para decimales) que representan núme‑ ros. Pueden ser enteros ( int ) o reales ( float ).

Referencias 2 TIPOS DE DATOS SIMPLES

1 >>> type (1) 2 < class 'int'> 3 >>> type (-2) 4 < class 'int'> 5 >>> type (2.3) 6 < class 'float'>

2.4.1 Operadores aritméticos

  • Operadores aritméticos: + (suma), - (resta), * (producto), / (cociente), // (cociente división en‑ tera), % (resto división entera), ** (potencia).

Orden de prioridad de evaluación:

1 Funciones predefinidas 2 Potencias 3 Productos y cocientes 4 Sumas y restas

Se puede saltar el orden de evaluación utilizando paréntesis ( ).

1 >>> 2+ 2 5 3 >>> 5- 4 - 5 >>> 5/ 6 2. 7 >>> 5// 8 2 9 >>> (2+3)* 10 25

2.4.2 Operadores lógicos con números

Devuelven un valor lógico o booleano.

  • Operadores lógicos: == (igual que), > (mayor que), < (menor que), >= (mayor o igual que), <= (menor o igual que), != (distinto de).

Referencias 2 TIPOS DE DATOS SIMPLES

3 >>> 'Python'[1] 4 'y' 5 >>> 'Python'[-1] 6 'n' 7 >>> 'Python'[6] 8 Traceback (most recent call last): 9 File "", line 1, in 10 IndexError: string index out of range

2.5.2 Subcadenas

  • c[i:j:k] : Devuelve la subcadena de c desde el carácter con el índice i hasta el carácter ante‑ rior al índice j, tomando caracteres cada k.

1 >>> 'Python'[1:4] 2 'yth' 3 >>> 'Python'[1:1] 4 '' 5 >>> 'Python'[2:] 6 'thon' 7 >>> 'Python'[:-2] 8 'Pyth' 9 >>> 'Python'[:] 10 'Python' 11 >>> 'Python'[0:6:2] 12 'Pto'

2.5.3 Operaciones con cadenas

  • c1 + c2 : Devuelve la cadena resultado de concatenar las cadenas c1 y c2.
  • c * n : Devuelve la cadena resultado de concatenar n copias de la cadena c.
  • c1 in c2 : Devuelve True si c1 es una cadena concenida en c2 y False en caso contrario.
  • c1 not in c2 : Devuelve True si c1 es una cadena no concenida en c2 y False en caso con‑ trario.

1 >>> 'Me gusta ' + 'Python' 2 'Me gusta Python' 3 >>> 'Python' * 3 4 'PythonPythonPython' 5 >>> 'y' in 'Python' 6 True 7 >>> 'tho' in 'Python' 8 True 9 >>> 'to' not in 'Python' 10 True

Referencias 2 TIPOS DE DATOS SIMPLES

2.5.4 Operaciones de comparación de cadenas

  • c1 == c2 : Devuelve True si la cadena c1 es igual que la cadena c2 y False en caso contrario.
  • c1 > c2 : Devuelve True si la cadena c1 sucede a la cadena c2 y False en caso contrario.
  • c1 < c2 : Devuelve True si la cadena c1 antecede a la cadena c2 y False en caso contrario.
  • c1 >= c2 : Devuelve True si la cadena c1 sucede o es igual a la cadena c2 y False en caso contrario.
  • c1 <= c2 : Devuelve True si la cadena c1 antecede o es igual a la cadena c2 y False en caso contrario.
  • c1 != c2 : Devuelve True si la cadena c1 es distinta de la cadena c2 y False en caso contrario.

Utilizan el orden establecido en el código ASCII.

1 >>> 'Python' == 'python' 2 False 3 >>> 'Python' < 'python' 4 True 5 >>> 'a' > 'Z' 6 True 7 >>> 'A' >= 'Z' 8 False 9 >>> '' < 'Python' 10 True

2.5.5 Funciones de cadenas

  • len(c) : Devuelve el número de caracteres de la cadena c.
  • min(c) : Devuelve el carácter menor de la cadena c.
  • max(c) : Devuelve el carácter mayor de la cadena c.
  • c.upper() : Devuelve la cadena con los mismos caracteres que la cadena c pero en mayúscu‑ las.
  • c.lower() : Devuelve la cadena con los mismos caracteres que la cadena c pero en minúscu‑ las.
  • c.title() : Devuelve la cadena con los mismos caracteres que la cadena c con el primer ca‑ rácter en mayúsculas y el resto en minúsculas.
  • c.split(delimitador) : Devuelve la lista formada por las subcadenas que resultan de partir la cadena c usando como delimitador la cadena delimitador. Si no se especifica el delimita‑ dor utiliza por defecto el espacio en blanco.

1 >>> len ('Python') 2 6 3 >>> min ('Python')

Referencias 2 TIPOS DE DATOS SIMPLES

4 'Cantidad 12' 5 >>> 'Pi vale {:8.4f}'.format(3.141592) 6 'Pi vale 3.1416'

2.6 Datos lógicos o booleanos (clase bool)

Contiene únicamente dos elementos True y False que representan los valores lógicos verdadero y falso respectivamente.

False tiene asociado el valor 0 y True tiene asociado el valor 1.

2.6.1 Operaciones con valores lógicos

  • Operadores lógicos: == (igual que), > (mayor), < (menor), >= (mayor o igual que), <= (menor o igual que), != (distinto de).
  • not b (negación) : Devuelve True si el dato booleano b es False , y False en caso contrario.
  • b1 and b2 : Devuelve True si los datos booleanos b1 y b2 son True, y False en caso contrario.
  • b1 or b2 : Devuelve True si alguno de los datos booleanos b1 o b2 son True, y False en caso contrario.

2.6.2 Tabla de verdad

x y not x x and y x or y

False False True False False False True True False True True False False False True True True False True True

1 >>> not True 2 False 3 >>> False or True 4 True 5 >>> True and False 6 False 7 >>> True and True 8 True

Referencias 2 TIPOS DE DATOS SIMPLES

2.7 Conversión de datos primitivos simples

Las siguientes funciones convierten un dato de un tipo en otro, siempre y cuando la conversión sea posible.

  • int () convierte a entero. Ejemplo. int ('12') 12 int (True) 1 int ('c') Error
  • float () convierte a real. Ejemplo. float ('3.14') 3. float (True) 1. float ('III') Error
  • str() convierte a cadena. Ejemplo. str(3.14) '3.14' str(True) 'True'
  • bool() convierte a lógico. Ejemplo. bool('0') False bool('3.14') True bool('') False bool('Hola') True

2.8 Variables

Una variable es un identificador ligado a algún valor.

Reglas para nombrarlas:

  • Comienzan siempre por una letra, seguida de otras letras o números.
  • No se pueden utilizarse palabras reservadas del lenguaje.

A diferencia de otros lenguajes no tienen asociado un tipo y no es necesario declararlas antes de usar‑ las (tipado dinámico).

Para asignar un valor a una variable se utiliza el operador = y para borrar una variable se utiliza la instrucción del.

1 lenguaje = 'Python' 2 x = 3. 3 y = 3 + 2 4 # Asignación múltiple

Referencias 3 ESTRUCTURAS DE CONTROL

4 >>> print ('Hola', name) 5 Hola Alf 6 >>> print ('El valor de pi es', 3.1415) 7 El valor de pi es 3. 8 >>> print ('Hola', name, sep='') 9 HolaAlf 10 >>> print ('Hola', name, end='!\n') 11 Hola Alf!

3 Estructuras de control

3.1 Condicionales (if)

if condición1: bloque código elif condición2: bloque código … else : bloque código

Evalúa la expresión lógica condición1 y ejecuta el primer bloque de código si es True; si no, evalúa la siguientes condiciones hasta llegar a la primera que es True y ejecuta el bloque de código asociado. Si ninguna condición es True ejecuta el bloque de código después de else :.

Pueden aparecer varios bloques elif pero solo uno else al final.

Los bloques de código deben estar indentados por 4 espacios.

La instrucción condicional permite evaluar el estado del programa y tomar decisiones sobre qué có‑ digo ejecutar en función del mismo.

1 >>> edad = 14 2 >>> if edad <= 18 : 3 ... print ('Menor') 4 ... elif edad > 65: 5 ... print ('Jubilado') 6 ... else : 7 ... print ('Activo') 8 ... 9 Menor 10 >>> age = 20 11 >>> if edad <= 18 : 12 ... print ('Menor') 13 ... elif edad > 65:

Referencias 3 ESTRUCTURAS DE CONTROL

14 ... print ('Jubilado') 15 ... else : 16 ... print ('Activo') 17 ... 18 Activo

3.2 Bucles condicionales (while)

while condición: bloque código

Repite la ejecución del bloque de código mientras la expresión lógica condición sea cierta.

Se puede interrumpir en cualquier momento la ejecución del bloque de código con la instrucción break.

El bloque de código debe estar indentado por 4 espacios.

1 >>> # Pregunta al usuario por un número hasta que introduce 0. 2 >>> num = None 3 >>> while num != 0: 4 ... num = int ( input ('Introduce un número: ')) 5 ... 6 Introduce un número: 2 7 Introduce un número: 1 8 Introduce un número: 0 9 >>>

Alternativa:

1 >>> # Pregunta al usuario por un número hasta que introduce 0. 2 >>> while True: 3 ... num = int ( input ('Introduce un número: ')) 4 ... if num == 0: 5 ... break 6 ... 7 Introduce un número: 2 8 Introduce un número: 1 9 Introduce un número: 0 10 >>>

3.3 Bucles iterativos (for)

for i in secuencia: bloque código