Publicado el 15 de Enero del 2019
2.850 visualizaciones desde el 15 de Enero del 2019
686,0 KB
45 paginas
Creado hace 9a (30/11/2015)
INTRODUCCIÓN A LA
PROGRAMACIÓN EN
PYTHON
Clara Higuera
Laboratorio Integrado de Biofísica y
Bioinformática
Nov-2015
Conceptos básicos
• ¿Qué es un programa?
• Desarrollo y ejecución de un programa
• Datos y operaciones sobre datos
• Control de flujo de un programa
• Sentencias de control
• Entrada/Salida de un programa
• Funciones
• Distintos lenguajes de programación: componentes
básicos comunes
Conceptos básicos
• Tipos de lenguajes:
• Nivel del lenguaje
• Bajo nivel
• Código máquina (ceros y unos)
• Ensamblador
• Alto nivel: Se parece más al lenguaje humano
• Fortran
• C
• Java
• Python
• Perl
Rápidos, optimizados al
hw de la máquina
Pero poco portables
Lenguajes más
expresivos
Menos óptimizados, más
lentos
Conceptos básicos
• Tipos de lenguajes
• Tipo de ejecución
• Lenguaje compilado: Antes de ejecutar se traduce a código máquina
• Rápido, muy optimizado para cada tipo de máquina
• La programación es más laboriosa
• C, Fortran, Java
• Lenguaje Interpretado
• Un intermediario (interprete de comandos) ejecuta una a una las
instrucciones que vamos dando.
• Más lento: cada instrucción se debe interpretar en tiempo real
• Fácil de programar: los cambios se pueden comprobar inmediatamente
• Python, Perl, Matlab
Conceptos básicos
• Todo lenguaje de programación viene descrito por:
• Un léxico
• Palabras clave
• Nombres de variables, constantes, funciones predefinidas..
• Una sintaxis
• Reglas con las que deben combinarse los elementos de un
lenguaje de programación (léxico/términos y puntuación) para
construir frases/instrucciones
• Una semántica
• El significado o propósito del programa sintácticamente correcto.
Introducción
• Qué es Python
• Es un lenguaje interpretado de alto nivel
• Creado por Guido van Rossum en 1989
• Tiene una sintaxis sencilla, con estructuras de datos y de
control muy potentes
• Fácil de aprender, de leer y de mantener
• Open Source
• Gran cantidad de módulos muy útiles
• math : funciones matemáticas básicas
• numpy : cálculo numérico
• scipy : cálculo científico
• pylab/matplotlib : representaciones gráficas
Introducción
• Tutorial oficial
• https://docs.python.org/2/tutorial/
• Cursos on line
• https://www.codecademy.com/es/learn/python
• http://www.learnpython.org/
• Anaconda
• iPython: Intérprete de comandos
• Spider: Entorno de desarrollo
• https://www.continuum.io/downloads
• Versión Python 2.7
Python: intérprete de comandos
• Abrimos Anaconda
• Seleccionamos Spider: Entorno de desarrollo
• Utilizamos la consola como una calculadora interactiva
>>2+2
>>_+2
• Repetimos lo mismo en el editor y ejecutamos
2+2
• Para obtener resultado en consola:
print 2+2
Python: intérprete de comandos
• Multiples operaciones numéricas básicas
• Suma: +
• Resta: -
• División: /
• División entera: //
• Resto (modulo): %
• Potencia: **
Operación bit a bit
Literales, variables y operadores
• Literales: Mantienen siempre su valor
• Números
• Cadenas de texto
• Booleanos
• Variables: Pueden variar a lo largo del programa
• Operadores: Manipulan variables y literales
• Operadores de números
• Operadores de cadenas
• Operadores lógicos
• Operadores de comparación
Tipos de datos
• En python los tipos no se especifican son implicitos
• Tipos principales:
• Enteros (int): 1, 2, 3 ,4 ..
• Reales (float): 1.3, 1.5, 489.9, 1.
• Booleanos (bool): True, False
• Cadenas de texto (string): “Hello”, ‘Hello’
• La funcion type() nos devuelve el tipo de un elemento
>>> type(676)
<type 'int'>
>>> type(True)
<type 'bool'>
>>> type(56)
<type 'int'>
Variables
• Variables
• Para poder manejar los datos es necesario almacenarlos en
variables. Sus valores pueden variar a lo largo del programa
Cadenas
• Hay varias formas de definirlas:
• Permiten incluir comillas
• Y cadenas con salto de linea: \n
Cadenas
• Operaciones con cadenas:
• Repetición de n veces una cadena: str1*n
• Concatenación de dos cadenas: str1 + str2
>>> "jamon"*3 # Repetición
'jamonjamonjamon'
>>> "jamon" + " serrano" # Concatenación
'jamon serrano'
¿Qué ocurre si mezclo tipos?
>>> "jamon" + 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> "jamon" + str(3) # Conversión explícita
'jamon3'
Cadenas
• La funcion print
descriptivo.
• Usamos print para imprimir el valor de una variable o un un texto
Resultado:
Juan tiene 20 años
Resultado:
Hablemos primero de Filosofia
Y luego de Bioquímica
Resultado:
Juan tiene 20 años
Pedro tiene 22
Cadenas
Ejercicio:
En el editor vais a escribir vuestro primer script que realice
lo siguiente:
1. Cree dos variables cadena llamadas ADN1 y ADN2 en
las que se almacenen dos secuencias de ADN.
Imprima las dos cadenas separadas por un espacio de
línea.
2.
3. Unir las dos cadenas en una única y almacenar el
resultado en una nueva variable cadena llamada DNA3
Imprima la cadena resultante
4.
Cadenas
Comentario
Imprimir
por consola
Concatenación
Listas
• Tipo de datos colección: agrupar conjuntos de valores.
Internamente cada posición puede ser un tipo de datos distinto.
• Se define separando sus elementos con comas y colocándolos
entre [ ]
• Ejemplo:
dias= [‘lunes’,’martes’,’miercoles’,’jueves’,viernes’,’sabado’,’domingo’]
Listas
• Acceso a un elemento:
• dias[3] el número de orden comienza en 0
>>> dia[3]
jueves
• Si el índice es negativo se empieza a contar
desde el último elemento comenzando por ‐1
>>> dia[-1] # Negativo, desde el final
domingo
Listas
• Modificación de un elemento de la lista
• dias[2]='mercredi’
• Troceado (slicing): Se usa para acceder a rangos de elementos en
vez de a elementos individuales.
• Devuelve otra lista con los elementos que van desde el primer índice al último
menos 1 (excluye el último).
• lista[inicio:fin:incremento]
>>> numeros=[1,2,3,4,5,6,7,8,9,10]
>>> numeros[4:7]
[5, 6, 7]
>>> numeros[:3] #Excluye el ultimo
[1, 2, 3]
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
>>> numeros[::2] # Extrae cada dos elementos
[1, 3, 5, 7, 9]
Listas
• Las listas pueden contener elementos de distinto tipo
• Lista = [1,’azul’,23,’casa’,True]
• Las listas se pueden anidar
lista = [[1,2,3],[3,1],2]
• Acceder a una lista anidada
>>> lista[0][1]
2
Lista[5] ßERROR
• Indices fuera de rango dan error
>>> len(lista)
>>> len(lista[1])
3
2
• Podemos obtener la longitud de la línea con la función len()
Listas
• El troceado también se puede hacer con cadenas
Ejercicio:
Dada la lista lista = ['Mr.', 'John', 'Smith', 34, 1.73]
• Extraer el primer elemento
• Extraer el último elemento
• Extraer el cuarto elemento, de dos formas
• Extraer los elementos centrales (excluir primero y último)
• Reemplazar el primer elemento por una lista con los dos últimos
elementos
Listas
Ejercicio . Solución
Dada la lista: lista = ['Mr.', 'John', 'Smith', 34, 1.73]
• Extraer el primer elemento
• Extraer el último elemento
lista[0]
lista[-1]
• Extraer el cuarto elemento, de dos formas
lista[3], lista[-2]
• Extraer los elementos centrales (excluir primero y último)
• Reemplazar el primer elemento por una lista con los dos últimos
lista[0]=lista[3:] ó lista[0] = lista[len(lista)-2:]
lista[1:-1]
elementos
Tuplas
• Son un tipo colección que no puede modificarse. Inmutables
• Una serie de elementos separados por comas forman una tupla.
Habitualmente se encierra entre paréntesis
>>> tupla = (1,2,3)
• Veremos su utilidad cuando estudiemos funciones
• También sirve para asignar valores a varias variables:
• La función tuple convierte una lista o una cadena en una tupla
a,b= (1,2)
>>> tuple([1,2,3,4])
(1, 2, 3, 4)
>>> tuple("abc")
('a', 'b', 'c')
• Las tuplas soportan muchas de las acciones de las cadenas
Diccionarios
• Tipo colección
• Son conjuntos no ordenados de pares clave-valor
• Se definen poniendo entre {} la lista separada por , de elementos
clave:valor separados por :
• Los valores pueden ser de cualquier tipo, incluido otro diccionario
Diccionarios
• Acceso por clave
• Dato= telefonos[‘Daniel’]
• Modificación de un elemento
• telefonos[‘Daniel’]=9898
• Lista de las claves
• telefonos.keys()
• Lista de valores
• Telefonos.values()
Accede al valor
asociado a la
clave Daniel
Diccionarios
• Ejercicio
• Escribir un diccionario que tenga como claves los
numeros en español del 1 al 4 y como valores sus
nombres en inglés
• Acceder al elemento ‘dos’ y almacenarlo en otra variable.
• Imprimir todas las claves y valores
Diccionarios
• Solución
Sentencias de control
• Bloque
• Un bloque es un grupo de sentencias que se ejecutan si una
condición se cumple. Puede ser parte de una sentencia
condicional o de un bucle
• Se crea un bloque al indentar las sentencias que se quiere formen
parte del bloque
• Los bloques comienzan con : y finalizan cuando la siguiente
sentencia tiene menor indentación.
Sentencias condicionales
• Valores booleanos:
• Falso: False, None, 0, “”, (), [], {}
• Verdadero: Todo lo demás
• Operadores booleanos: and y or
• Operadores de comparación
Sentencias condicionales
• Sentencia if
if condicion:
bloque
• Sentencia if-else
• Sentencia if-elif-else
if condicion:
bloque
else
bloque
if condicion:
bloque
elif condicion:
bloque
…
else:
bloque
Bucles
Bucles while:
while condición:
bloque
La var
Comentarios de: Introducción a la programación en Python (0)
No hay comentarios