SlideShare una empresa de Scribd logo
1 de 70
Aprendiendo a Programar en
… con mi computadora y todo lo que
encuentre disponible.
Para tener una idea de la creciente comunidad
que usa Python, puede visitar y explorar
https://www.python.org/community
Programar es el arte de hacer que cualquier
dispositivo inteligente ejecute las instrucciones
que se les suministra en un idioma que el
dispositivo pueda entender y que el dispositivo
interpreta literalmente.
Cada lenguaje de programación posee una
forma propia que le permite al programador
darle instrucciones básicas a ese dispositivo
inteligente.
Python posee una simplicidad intuitiva tal, que
con unas pocas líneas de instrucción podemos
ejecutar actividades complejas que en otro
lenguaje requerirían muchas más líneas de
código o mayor número de instrucciones.
Lenguajes de programación con tal facilidad se
denominan de alto nivel.
Introducción.
Python no es un lenguaje funcional puro, sin
embargo incorpora esta característica.
Entiende el concepto de función según su
definición matemática y no como simples
subprogramas de los lenguajes imperativos.
Introducción.
Python fue diseñado a finales de la década de
los ochenta por Guido van Rossum. Un
lenguaje de programación de muy alto nivel,
con una sintaxis muy clara y una apuesta firme
por la legibilidad del código. Sin duda muy
versátil, fuertemente tipado, imperativo y
orientado a objetos, aunque contiene también
características que lo convierten en un
lenguaje de paradigma funcional.
Introducción.
Python se puede considerar un lenguaje semi-
interpretado. A diferencia de C, su código no se
ejecuta directamente en la máquina destino,
sino que es ejecutado por un SW intermedio (o
intérprete). Sin embargo, al igual que JAVA,
compila el código escrito en lenguaje de alto
nivel para obtener un seudo código máquina
(bytecode) que es el que propiamente ejecuta
el intérprete.
Introducción.
Obteniendo, instalando y
probando la
infraestructura computacional
necesaria para
Programar.
Para instalar una determinada versión se
aconseja recurrir a su sitioweb oficial.
python.org/downloads/release/python-
Obtenido el paquete
para el SO y versión
adecuados, en una
línea de comandos se
ejecuta el intérprete de
Python, y se prueba que
todo funciona
correctamente mediante
el clásico:
>>> print "Hola mundo"
Hola mundo
>>> quit()
>>>
Al iniciarse, después de imprimir la información
de versiones, Python muestra el símbolo “>>>”
para indicar que el intérprete está esperando
comandos. En este ejemplo pedimos que
imprima la cadena de caracteres “Hola
mundo”, y después de ver el resultado, se sale
de Python mediante la instrucción quit()
Por tanto puede considerar que tiene la
instalación básica de Python lista para su uso.
Pruebas y configuraciones.
Los tipos básicos de este lenguaje son
esencialmente los ya conocidos en cualquier
lenguaje de programación: los valores
numéricos, las cadenas de texto y los valores
booleanos.
Variables.
>>> # Ejemplos de variables
>>> a =42; # valor entero
>>> along = 42L ;
>>> ahex = 0x2a ;
>>> aoctal = 052;
>>> b = 3.1416; # valor en coma flotante
>>> bnotacion = 3.14e0 ;
>>> c = " Ejemplo de cadena de caracteres "
#Una cadena de caracteres
>>> #Imprimir las variables por pantalla
>>> print a , b , c;
42 3.1416 Ejemplo de cadena de caracteres
Variables.
>>> # tipo de las variables
>>> type (a) ;
<type 'int'>
>>> type (b) ;
<type 'float'>
>>> type (c) ;
<type 'str'>
>>>
Variables.
Los números enteros se pueden representar
en notación decimal, octal (anteponiendo un
“0” al valor) o hexadecimal (anteponiendo “0x”
al valor). Al igual que en lenguaje C (en el que
está escrito Python), los números se pueden
representar mediante enteros (por defecto) o
long (entero largo), que permite un rango
mayor de valores posibles. Este rango, de
nuevo como en C, dependerá de la plataforma
subyacente, pudiendo ser de 32 o 64 bits.
Variables.
Los valores flotantes son implementados a
bajo nivel directamente con el tipo double de C
(registro de 64 bits). Por su parte, los números
complejos están soportados de base y en la
práctica se implementan mediante dos
flotantes, uno para la parte real y otro para la
parte imaginaria.
Variables.
Python tiene de extensiones para más
operaciones en el módulo math. El valor de
retorno de un operador es determinado por el
tipo de las variables que intervienen en la
operación.
Operadores.Operadores.
Sí, por ejemplo, sumara dos números enteros,
nos devolverá otro valor entero. Si uno de los
dos operandos está en punto flotante, el
resultado de la operación será un valor en
punto flotante. El tipo básico booleano puede
recibir true or false, y se utilizan
fundamentalmente para expresar el resultado
de condiciones, especialmente útiles en los
bucles y control de flujo condicional.
Operadores.
Operadores.
Son fragmentos de texto delimitados por
comillas simples (’Un ejemplo’) o dobles (“Otro
ejemplo”). Para introducir saltos de línea,
dispone del carácter de escape ’ n’. También
puede usar otros caracteres de escape como
’t’ (tabulación) o ’b’ (borrar carácter). Para
conseguir que el texto se imprima tal y como
aparece en el código fuente sin tener que
recurrir a los códigos de escape, puede
delimitarlo por triples comillas.
Cadenas de caracteres.
# Ejemplos de cadenas
a = "holan"
b = "t Este es un ejemppblo de cadenas de
caracteresn"
c = """Es posible escribir saltos de linea
sin necesidad de códigos de escape. """
print a, b, c
Cadenas de caracteres.
Cadenas de caracteres.
Algunos operadores usados con valores
numéricos se encuentran sobrecargados en el
caso de las cadenas de caracteres. Ejemplo,
la igualdad (que asigna una cadena a una
variable) y el operador suma “+”. La suma de
dos cadenas es el resultado de concatenar la
segunda detrás de la primera. Del mismo
modo, el producto de una cadena por un
escalar da por resultado la misma cadena
repetida tantas veces como indique el
operador numérico.
Cadenas de caracteres.
Una función muy útil es str, que permite
realizar la conversión de valores numéricos a
cadena de caracteres. Si teclea str(8.987) en
la línea de comandos, obtendrá la salida
’8.987’:
>>> str(8.987)
'8.987'
>>>
Cadenas de caracteres.
Los lenguajes de programación disponen de
instrucciones de control de flujo para permitir
al programador alterar el orden secuencial del
código y ejecutar diferentes órdenes en
función de una serie de condiciones sobre el
estado.
Los dos tipos básicos de sentencias de control
de flujo son: las sentencias condicionales y los
bucles (o repeticiones.)
Control de flujo.
Recibe como entrada una expresión booleana,
y sirve para ejecutar una de porción de código
en función de si se cumple esta condición (el
resultado de su evaluación es true.)
Su sintaxis consiste en la palabra clave if, a
continuación la expresión booleana de la
condición, y un signo : que indica el final de la
condición, y finalmente, el código a ejecutar en
caso que la condición se evalúe como true.
Instrucción if.
# Ejemplos de uso de if
c = 37;
if c > 0:
print "El número es positivon"
print "Que tenga un buen dían"
# continuación del programa
Instrucción if.
Observe en el ejemplo anterior la identación.
Los bloques de código se delimitan mediante
una correcta tabulación. A diferencia de otros
lenguajes donde se usan palabras clave
específicas (begin, end,...) o llaves ( {,..., })
reservadas para definir bloques de código.
Aquí sólo puede usar tabulación, lo que
permite entre otras cosas una lectura mucho
más agradable de los programas y una fácil
identificación de las distintas partes.
Instrucción if.
Cuando el objetivo de la sentencia condicional
es dividir la ejecución del código en función de
si se cumple la condición o no, y se desea
hacer alguna acción de forma explícita cuando
la condición no se cumple, se usa la palabra
clave else (siempre seguida de :).
La palabra clave, elif, se utiliza para añadir
más condiciones a la sentencia if. Esto puede
ser muy útil si hay muchos casos que
diferenciar y deben tratarse todos. Se pueden
añadir tantos bloques elif según se necesiten.
if-elif-else.
# Ejemplos de uso de if
c = –10;
if c > 0:
print " El número es positivon"
print "Que tenga un buen dían"
elif c == 0:
print " El número es exactamente 0"
else :
print " El número es negativo "
print "Que tenga suerte "
# continuación del programa
if-elif-else.
Si el valor de c fuera 0, se ejecutaría la línea
print “El número es exactamente 0”. Cuando
no se cumple la condición del if, ni de ninguno
de los elif que pudiera haber, se acaba
ejecutando el bloque de instrucciones
correspondientes al else.
if-elif-else.
Los bucles son estructuras de control de flujo
que permiten repetir un bloque de código un
determinado o indeterminado número de
veces. Esencialmente existen dos tipos de
bucles: for y while.
Bucles.
Se usa para ejecutar una secuencia de pasos
un determinado número de veces (ya conocido
previamente.) Su sintaxis es: for elemento in
secuencia: y a continuación el bloque de
acciones con la identación correcta.
# Ejemplos de uso del bucle for
vector = ["hola ", "buenos ", "días " ] ;
for palabra in vector :
print palabra
# imprimiría todas las palabras del vector
Bucles for ... in
.
Destaca que el bucle for no trabaja como en la
mayor parte de los lenguajes. Aquí, a cada
paso del bucle se instancia el elemento
iterador con un valor de la secuencia de forma
automática. En el ejemplo, la variable palabra
irá eligiendo a cada paso el valor de uno de los
elementos de la lista vector: en la primera
iteración palabra tomará el valor “hola”, en la
segunda valdrá automáticamente “buenos”, y
así sucesívamente. No será necesario trabajar
con índices puesto que el lenguaje hace todo
el trabajo.
Bucles for ... in.
Sigue un planteamiento similar a los lenguajes
tradicionales. Permite ejecutar un determinado
bloque de código mientras una determinada
condición sea cierta. Su sintaxis es: while
Condición:
# Ejemplos de uso del bucle while
pares = 2;
while pares <= 20:
print pares
pares = pares + 2
# imprimiría todos los números pares
Bucles while.
El ejemplo imprime por pantalla todos los
números pares del 2 al 20. A cada paso
incrementa la variable de control que permitirá
salir del bucle cuando la condición no sea
satisfecha.
Observe que la sentencia while puede generar
bucles infinitos. A veces estos bucles se
generan de forma involuntaria. Otras veces de
forma voluntaria. En combinación con la
sentencia break. Esta sentencia permite salir
de forma incondicional de un bucle.
Bucles while.
La sentencia break, es útil cuando el flujo de
ejecución depende de alguna entrada del
usuario no contemplada en el momento de
ejecución.
# Ejemplos de uso del bucle while
pares = 2;
while pares > 0:
print pares
pares = pares + 2
if pares > 20:
break
# imprimiría todos los números pares
Bucles while.
Son mecanismos que permiten encapsular una
serie de operaciones de forma parametrizable,
y devolver unos resultados determinados.
Estos fragmentos de código se denominan
funciones.
Se declaran mediante la palabra clave def. Su
sintaxis es:
def nombre_funcion(parametro1,
parametro2, ..., parametroN):
Funciones.
Las llamadas a funciones reciben como
argumentos una lista de parámetros
(implementada aquí como una tupla), que se
corresponden con los parámetros establecidos
en el momento de la definición de la función.
Observe la llamada a una función que imprime
el resultado de elevar un número base
(parametro1) a un exponente (parametro2.)
Funciones: Parámetros de entrada.
.
# Ejemplos de definiciones y llamadas de
# funciones. Función potencia de dos valores
# (usa como base el primer parámetro
# y como exponente el segundo parámetro)
def exponenciar (parametro1, parametro2) :
“ ”Ejemplo de función que eleva un número
o base a un exponente
print parametro1∗∗parametro2
# continúa
Funciones: Parámetros de entrada.
# continuación
def exponenciar2 (parametro1, parametro2 =2) :
print parametro1∗∗parametro2
exponenciar (2,3);
exponenciar (parametro2=3,parametro1=2);
exponenciar (3,2);
exponenciar (parametro2=2,parametro1=3);
exponenciar2 (5);
exponenciar2 (5,3);
#llamadas erróneas
exponenciar (2,3,4);
Funciones: Parámetros de entrada.
La propia identación delimita claramente los
bloques. También se puede observar una
cadena inicial que empieza por “ ”. Estas
cadenas se utilizan para documentar las
funciones. Los programadores familiarizados
con JAVA pueden ver cierta similitud con el
documento usado en este lenguaje.
Funciones: Parámetros de entrada.
Observe distintas formas cómo parametrizar las
funciones. Normalmente suele llamarse la
función con los parámetros en el mismo orden
en que se ha definido la función. Sin embargo,
se puede también llamar a la función con el
nombre del parámetro y su valor asociado. Son
posibles llamadas que se saltan la regla del
orden: exponenciar (parametro2=3,
parametro1=2), equivalente a exponenciar (2,3).
Python obliga llamar las funciones usando
exactamente el mismo número de argumentos,
en caso contrario habrá un error de ejecución.
Funciones: Parámetros de entrada.
También es posible inicializar parámetros con
valores por defecto en caso que no se
proporcione su valor en el momento de la
llamada. La función exponenciar2 muestra un
ejemplo donde en caso de no proporcionar un
argumento utilizaría un 2 por defecto (elevaría al
cuadrado). También se permiten funciones con
un número variable de parámetros.
Funciones: Parámetros de entrada.
# Ejemplos de definiciones y llamadas de
# funciones. Función suma.
def sumarLista (*parametros) :
resultado = 0;
for val in parametros :
resultado = resultado + val;
print resultado;
sumarLista (1,2,3,4);
Funciones: Parámetros de entrada.
Esencialmente se define un argumento que
contiene una tupla con todos los posibles
parámetros a recibir. Esta tupla se recorre en
tiempo de ejecución para poder utilizar los
parámetros de forma adecuada.
También debe considerarse que los parámetros
a funciones en cualquier lenguaje de
programación, se modifican en tiempo de
ejecución. Tradicionalmente los pasos por
parámetro funcionan por valor o por referencia.
Funciones: Parámetros de entrada.
En Python los pasos por parámetros son en
general por referencia. La excepción la
conforman los tipos de datos básicos o
inmutables (enteros, flotantes, ...), que se pasan
por valor.
Funciones: Parámetros de entrada.
En los pasos de parámetros por valor, los
argumentos a una función no se modifican al
salir de ella (en caso de que el código interno
los altere). Técnicamente, se debe al hecho
que realmente no se pasa a la función la
variable en cuestión, sino una copia local a la
función que es eliminada al acabar su
ejecución. En el caso del paso por referencia se
pasa a la función un puntero al objeto (en el
caso de C) o simplemente una referencia (en
lenguajes de alto nivel) que permite su
indirección.
Funciones: Parámetros de entrada.
De este modo, las modificaciones a los
parámetros que se hacen dentro de la función
se ven reflejadas en el exterior una vez la
función termina. En Python los pasos por
parámetros son en general por referencia. La
excepción la conforman los tipos de datos
básicos o inmutables (enteros, flotantes, ...),
que se pasan por valor.
Funciones: Parámetros de entrada.
# Ejemplos de definiciones y llamadas de
# funciones. Función para verificar la
# modificabilidad de los parámetros
def persistenciaParametros (parametro1,
parametro2) :
parametro1 = parametro1 + 5;
parametro2 [1] = 6; print parametro1 ;
print parametro2 ;
numeros = [1 ,2 ,3 ,4]; valorInmutable = 2;
persistenciaParametros(valorInmutable,
numeros);
print numeros; print valorInmutable;
Funciones: Parámetros de entrada.
Como puede observarse, a partir de la ejecución
del ejemplo, el vector de números sufre las
modificaciones debidas al código interno de la
función, mientras que el valor entero se modifica
dentro de la función pero pierde esta modificación
al devolver el control al programa principal.
Funciones: Parámetros de entrada.
La sintaxis para el retorno de valores difiere de
los lenguajes de programación habituales, puesto
que Python permite devolver más de un valor de
retorno. La palabra clave a utilizar es return,
seguida de la lista de argumentos que hay que
devolver. Existe también la posibilidad de obviar
los valores de retorno y utilizar el paso de
parámetros por referencia, obteniendo un
resultado similar. En realidad la función sólo
devuelve un valor (la lista), pero el efecto
producido es el mismo que si pudiera devolver
múltiples valores.
Valores de retorno.
# Ejemplos de definiciones y llamadas de
# funciones. Función para practicar el retorno de
#valores
def suma(parametro1, parametro2) :
return parametro1 + parametro2;
def potencia (parametro1, parametro2) :
return parametro1 ∗∗ parametro2;
def sumaPotencia (parametro1, parametro2) :
return parametro1 + parametro2,
parametro1 ∗∗ parametro2;
Valores de retorno.
resultado1 = suma (2,3);
print resultado1;
resultado2 = potencia (2,3) ;
print resultado2;
resultado3 = sumaPotencia (2,3);
print resultado3;
Valores de retorno.
Una tupla es una secuencia inmutable y ordenada
de elementos. Cada uno de los elementos que
conforman una tupla puede ser de cualquier tipo
(básico o no). La sintaxis para declarar una tupla
consiste en especificar sus elementos separados
por una coma (,).
Tipos de datos: Tuplas.
# Ejemplos de uso de tuplas
tupla_vacia = ( );
tupla1 = 1,2,3,4,6,
tupla1b = (1,2,3,4,6) ;
tupla2 = ’hola’,2,3
tupla3 = tupla2,90
tupla4 = tuple (’ejemplo’);
Tipos de datos: Tuplas.
#Resultado de la ejecución
>>> print tupla1
(1,2,3,4,6)
>>> print tupla1b
(1,2,3,4,6)
>>> print tupla2
(’hola’,2,3)
>>> print tupla2
(’hola’,2,3)
>>> print tupla3
((’hola’,2,3), 90)
>>> print tupla4
(’e’,’j’,’e’,’m’,’p’,’l’,’o’)
Tipos de datos: Tuplas.
Una lista es una secuencia mutable y ordenada
de elementos. A diferencia de las tuplas, los
elementos de las listas se pueden modificar
aunque hayan recibido un valor asignado. Para
especificar los elementos que forman una lista, se
usa un conjunto de elementos separada de nuevo
por coma (,), al principio y al final la lista se
envuelve entre corchetes [,].
Tipos de datos: Listas.
# Ejemplos de uso de listas
lista_vacia = [];
lista = [1,2,3,4,6]
lista2 = [’hola’,2 ,3];
lista3 = [lista2,90,’bueno’];
lista4 = list(’ejemplo’);
lista5 = [1,2,3,4,5,6,7,8,9];
Tipos de datos: Listas.
#Resultado de la ejecución
>>>print lista_vacia
[]
>>>print lista
[1,2,3,4,6]
>>>print lista2
[’hola’,2,3]
>>>print lista3
[[’hola’,2,3],90,’bueno’ ]
>>>print lista4
[’e’,’j’,’e’,’m’,’p’,’l’,’o’]
>>>lista3[2]
’bueno’
>>>lista3[0]
[’hola’,2,3]
Tiposdedatos:Listas.
#Ejemplos de acceso a sublistas
>>>lista5 [2:3]
[3]
>>>lista5 [3:]
[4,5,6,7,8,9]
>>>lista5 [:3]
[1,2,3]
>>>lista5 [:]
[1,2,3,4,5,6,7,8,9]
Tipos de datos: Listas.
#Añadir elementos a una lista
>>>lista = [1,2,3,4,6]
>>>lista . append ([7,8,9])
>>>print lista
[1,2,3,4,6,[7,8,9]]
>>>lista = [1,2,3,4,6]
>>>lista . extend ([7,8,9])
>>>print lista
[1,2,3,4,6,7,8,9]
Tipos de datos: Listas.
#Buscar y eliminar elementos
>>>lista2 . index (’hola’)
0
>>>print lista2
[’hola’,2,3]
>>>lista2 . remove (’hola’)
>>>print lista2
[2,3]
#operadores sobrecargados de concatenación
>>>print lista2 + lista2
[2,3,2,3]
>>>print lista2 ∗ 4
[2,3,2,3,2,3,2,3]
Tiposdedatos:Listas.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Presentacion sobre micromundos
Presentacion sobre micromundosPresentacion sobre micromundos
Presentacion sobre micromundos
 
Algoritmos y diagramas de flujos
Algoritmos y diagramas de flujosAlgoritmos y diagramas de flujos
Algoritmos y diagramas de flujos
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Alice 4
Alice 4Alice 4
Alice 4
 
Introduccion c++
Introduccion c++Introduccion c++
Introduccion c++
 
Omega Up
Omega UpOmega Up
Omega Up
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
DB1 Unidad 6: Indices
DB1 Unidad 6: IndicesDB1 Unidad 6: Indices
DB1 Unidad 6: Indices
 
Partes de la ventana de access
Partes de la ventana de accessPartes de la ventana de access
Partes de la ventana de access
 
Lenguaje de programacion java
Lenguaje de programacion javaLenguaje de programacion java
Lenguaje de programacion java
 
Alice 14
Alice 14Alice 14
Alice 14
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
 
Practica 1 alice
Practica 1 alicePractica 1 alice
Practica 1 alice
 
TALLER PARA LA DETERMINACION DE LAS ESPECIFICACIONES FUNCIONALES Y METODOLOGI...
TALLER PARA LA DETERMINACION DE LAS ESPECIFICACIONES FUNCIONALES Y METODOLOGI...TALLER PARA LA DETERMINACION DE LAS ESPECIFICACIONES FUNCIONALES Y METODOLOGI...
TALLER PARA LA DETERMINACION DE LAS ESPECIFICACIONES FUNCIONALES Y METODOLOGI...
 
Greenfoot 2
Greenfoot 2Greenfoot 2
Greenfoot 2
 
Alice 11
Alice 11Alice 11
Alice 11
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 

Similar a Introducción a Python

Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xdJorgitop15
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xdJorgitop15
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xdJorgitop15
 
Python_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptxPython_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptxFedericoMartearena
 
Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++ValeriaBerrones
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_Jesus22barrera
 
Programación c
Programación cProgramación c
Programación cvictdiazm
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje ctbjs
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje ctbjs
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 
Python guia01 1
Python guia01 1Python guia01 1
Python guia01 1zeta2015
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNKarol Moreno
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaAeChm-MgMs-NnNm-OpSe
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacionsandra gutierrez
 

Similar a Introducción a Python (20)

P01 secuencial
P01 secuencialP01 secuencial
P01 secuencial
 
PROGRAMACIÓN EN C
PROGRAMACIÓN EN CPROGRAMACIÓN EN C
PROGRAMACIÓN EN C
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Programacion c
Programacion cProgramacion c
Programacion c
 
Python_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptxPython_Introduccion_a_la_programacion.pptx
Python_Introduccion_a_la_programacion.pptx
 
Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Programación c
Programación cProgramación c
Programación c
 
Programación c
Programación cProgramación c
Programación c
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Python guia01 1
Python guia01 1Python guia01 1
Python guia01 1
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
La programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortadaLa programación informática o programación algorítmica, acortada
La programación informática o programación algorítmica, acortada
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacion
 

Más de Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 

Último (20)

codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 

Introducción a Python

  • 1. Aprendiendo a Programar en … con mi computadora y todo lo que encuentre disponible.
  • 2. Para tener una idea de la creciente comunidad que usa Python, puede visitar y explorar https://www.python.org/community
  • 3. Programar es el arte de hacer que cualquier dispositivo inteligente ejecute las instrucciones que se les suministra en un idioma que el dispositivo pueda entender y que el dispositivo interpreta literalmente. Cada lenguaje de programación posee una forma propia que le permite al programador darle instrucciones básicas a ese dispositivo inteligente.
  • 4. Python posee una simplicidad intuitiva tal, que con unas pocas líneas de instrucción podemos ejecutar actividades complejas que en otro lenguaje requerirían muchas más líneas de código o mayor número de instrucciones. Lenguajes de programación con tal facilidad se denominan de alto nivel. Introducción.
  • 5. Python no es un lenguaje funcional puro, sin embargo incorpora esta característica. Entiende el concepto de función según su definición matemática y no como simples subprogramas de los lenguajes imperativos. Introducción.
  • 6. Python fue diseñado a finales de la década de los ochenta por Guido van Rossum. Un lenguaje de programación de muy alto nivel, con una sintaxis muy clara y una apuesta firme por la legibilidad del código. Sin duda muy versátil, fuertemente tipado, imperativo y orientado a objetos, aunque contiene también características que lo convierten en un lenguaje de paradigma funcional. Introducción.
  • 7. Python se puede considerar un lenguaje semi- interpretado. A diferencia de C, su código no se ejecuta directamente en la máquina destino, sino que es ejecutado por un SW intermedio (o intérprete). Sin embargo, al igual que JAVA, compila el código escrito en lenguaje de alto nivel para obtener un seudo código máquina (bytecode) que es el que propiamente ejecuta el intérprete. Introducción.
  • 8. Obteniendo, instalando y probando la infraestructura computacional necesaria para Programar. Para instalar una determinada versión se aconseja recurrir a su sitioweb oficial. python.org/downloads/release/python-
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Obtenido el paquete para el SO y versión adecuados, en una línea de comandos se ejecuta el intérprete de Python, y se prueba que todo funciona correctamente mediante el clásico: >>> print "Hola mundo" Hola mundo >>> quit() >>>
  • 18. Al iniciarse, después de imprimir la información de versiones, Python muestra el símbolo “>>>” para indicar que el intérprete está esperando comandos. En este ejemplo pedimos que imprima la cadena de caracteres “Hola mundo”, y después de ver el resultado, se sale de Python mediante la instrucción quit() Por tanto puede considerar que tiene la instalación básica de Python lista para su uso. Pruebas y configuraciones.
  • 19. Los tipos básicos de este lenguaje son esencialmente los ya conocidos en cualquier lenguaje de programación: los valores numéricos, las cadenas de texto y los valores booleanos. Variables.
  • 20. >>> # Ejemplos de variables >>> a =42; # valor entero >>> along = 42L ; >>> ahex = 0x2a ; >>> aoctal = 052; >>> b = 3.1416; # valor en coma flotante >>> bnotacion = 3.14e0 ; >>> c = " Ejemplo de cadena de caracteres " #Una cadena de caracteres >>> #Imprimir las variables por pantalla >>> print a , b , c; 42 3.1416 Ejemplo de cadena de caracteres Variables.
  • 21. >>> # tipo de las variables >>> type (a) ; <type 'int'> >>> type (b) ; <type 'float'> >>> type (c) ; <type 'str'> >>> Variables.
  • 22. Los números enteros se pueden representar en notación decimal, octal (anteponiendo un “0” al valor) o hexadecimal (anteponiendo “0x” al valor). Al igual que en lenguaje C (en el que está escrito Python), los números se pueden representar mediante enteros (por defecto) o long (entero largo), que permite un rango mayor de valores posibles. Este rango, de nuevo como en C, dependerá de la plataforma subyacente, pudiendo ser de 32 o 64 bits. Variables.
  • 23. Los valores flotantes son implementados a bajo nivel directamente con el tipo double de C (registro de 64 bits). Por su parte, los números complejos están soportados de base y en la práctica se implementan mediante dos flotantes, uno para la parte real y otro para la parte imaginaria. Variables.
  • 24. Python tiene de extensiones para más operaciones en el módulo math. El valor de retorno de un operador es determinado por el tipo de las variables que intervienen en la operación. Operadores.Operadores.
  • 25. Sí, por ejemplo, sumara dos números enteros, nos devolverá otro valor entero. Si uno de los dos operandos está en punto flotante, el resultado de la operación será un valor en punto flotante. El tipo básico booleano puede recibir true or false, y se utilizan fundamentalmente para expresar el resultado de condiciones, especialmente útiles en los bucles y control de flujo condicional. Operadores.
  • 27. Son fragmentos de texto delimitados por comillas simples (’Un ejemplo’) o dobles (“Otro ejemplo”). Para introducir saltos de línea, dispone del carácter de escape ’ n’. También puede usar otros caracteres de escape como ’t’ (tabulación) o ’b’ (borrar carácter). Para conseguir que el texto se imprima tal y como aparece en el código fuente sin tener que recurrir a los códigos de escape, puede delimitarlo por triples comillas. Cadenas de caracteres.
  • 28. # Ejemplos de cadenas a = "holan" b = "t Este es un ejemppblo de cadenas de caracteresn" c = """Es posible escribir saltos de linea sin necesidad de códigos de escape. """ print a, b, c Cadenas de caracteres.
  • 30. Algunos operadores usados con valores numéricos se encuentran sobrecargados en el caso de las cadenas de caracteres. Ejemplo, la igualdad (que asigna una cadena a una variable) y el operador suma “+”. La suma de dos cadenas es el resultado de concatenar la segunda detrás de la primera. Del mismo modo, el producto de una cadena por un escalar da por resultado la misma cadena repetida tantas veces como indique el operador numérico. Cadenas de caracteres.
  • 31. Una función muy útil es str, que permite realizar la conversión de valores numéricos a cadena de caracteres. Si teclea str(8.987) en la línea de comandos, obtendrá la salida ’8.987’: >>> str(8.987) '8.987' >>> Cadenas de caracteres.
  • 32. Los lenguajes de programación disponen de instrucciones de control de flujo para permitir al programador alterar el orden secuencial del código y ejecutar diferentes órdenes en función de una serie de condiciones sobre el estado. Los dos tipos básicos de sentencias de control de flujo son: las sentencias condicionales y los bucles (o repeticiones.) Control de flujo.
  • 33. Recibe como entrada una expresión booleana, y sirve para ejecutar una de porción de código en función de si se cumple esta condición (el resultado de su evaluación es true.) Su sintaxis consiste en la palabra clave if, a continuación la expresión booleana de la condición, y un signo : que indica el final de la condición, y finalmente, el código a ejecutar en caso que la condición se evalúe como true. Instrucción if.
  • 34. # Ejemplos de uso de if c = 37; if c > 0: print "El número es positivon" print "Que tenga un buen dían" # continuación del programa Instrucción if.
  • 35. Observe en el ejemplo anterior la identación. Los bloques de código se delimitan mediante una correcta tabulación. A diferencia de otros lenguajes donde se usan palabras clave específicas (begin, end,...) o llaves ( {,..., }) reservadas para definir bloques de código. Aquí sólo puede usar tabulación, lo que permite entre otras cosas una lectura mucho más agradable de los programas y una fácil identificación de las distintas partes. Instrucción if.
  • 36. Cuando el objetivo de la sentencia condicional es dividir la ejecución del código en función de si se cumple la condición o no, y se desea hacer alguna acción de forma explícita cuando la condición no se cumple, se usa la palabra clave else (siempre seguida de :). La palabra clave, elif, se utiliza para añadir más condiciones a la sentencia if. Esto puede ser muy útil si hay muchos casos que diferenciar y deben tratarse todos. Se pueden añadir tantos bloques elif según se necesiten. if-elif-else.
  • 37. # Ejemplos de uso de if c = –10; if c > 0: print " El número es positivon" print "Que tenga un buen dían" elif c == 0: print " El número es exactamente 0" else : print " El número es negativo " print "Que tenga suerte " # continuación del programa if-elif-else.
  • 38. Si el valor de c fuera 0, se ejecutaría la línea print “El número es exactamente 0”. Cuando no se cumple la condición del if, ni de ninguno de los elif que pudiera haber, se acaba ejecutando el bloque de instrucciones correspondientes al else. if-elif-else.
  • 39. Los bucles son estructuras de control de flujo que permiten repetir un bloque de código un determinado o indeterminado número de veces. Esencialmente existen dos tipos de bucles: for y while. Bucles.
  • 40. Se usa para ejecutar una secuencia de pasos un determinado número de veces (ya conocido previamente.) Su sintaxis es: for elemento in secuencia: y a continuación el bloque de acciones con la identación correcta. # Ejemplos de uso del bucle for vector = ["hola ", "buenos ", "días " ] ; for palabra in vector : print palabra # imprimiría todas las palabras del vector Bucles for ... in .
  • 41. Destaca que el bucle for no trabaja como en la mayor parte de los lenguajes. Aquí, a cada paso del bucle se instancia el elemento iterador con un valor de la secuencia de forma automática. En el ejemplo, la variable palabra irá eligiendo a cada paso el valor de uno de los elementos de la lista vector: en la primera iteración palabra tomará el valor “hola”, en la segunda valdrá automáticamente “buenos”, y así sucesívamente. No será necesario trabajar con índices puesto que el lenguaje hace todo el trabajo. Bucles for ... in.
  • 42. Sigue un planteamiento similar a los lenguajes tradicionales. Permite ejecutar un determinado bloque de código mientras una determinada condición sea cierta. Su sintaxis es: while Condición: # Ejemplos de uso del bucle while pares = 2; while pares <= 20: print pares pares = pares + 2 # imprimiría todos los números pares Bucles while.
  • 43. El ejemplo imprime por pantalla todos los números pares del 2 al 20. A cada paso incrementa la variable de control que permitirá salir del bucle cuando la condición no sea satisfecha. Observe que la sentencia while puede generar bucles infinitos. A veces estos bucles se generan de forma involuntaria. Otras veces de forma voluntaria. En combinación con la sentencia break. Esta sentencia permite salir de forma incondicional de un bucle. Bucles while.
  • 44. La sentencia break, es útil cuando el flujo de ejecución depende de alguna entrada del usuario no contemplada en el momento de ejecución. # Ejemplos de uso del bucle while pares = 2; while pares > 0: print pares pares = pares + 2 if pares > 20: break # imprimiría todos los números pares Bucles while.
  • 45. Son mecanismos que permiten encapsular una serie de operaciones de forma parametrizable, y devolver unos resultados determinados. Estos fragmentos de código se denominan funciones. Se declaran mediante la palabra clave def. Su sintaxis es: def nombre_funcion(parametro1, parametro2, ..., parametroN): Funciones.
  • 46. Las llamadas a funciones reciben como argumentos una lista de parámetros (implementada aquí como una tupla), que se corresponden con los parámetros establecidos en el momento de la definición de la función. Observe la llamada a una función que imprime el resultado de elevar un número base (parametro1) a un exponente (parametro2.) Funciones: Parámetros de entrada. .
  • 47. # Ejemplos de definiciones y llamadas de # funciones. Función potencia de dos valores # (usa como base el primer parámetro # y como exponente el segundo parámetro) def exponenciar (parametro1, parametro2) : “ ”Ejemplo de función que eleva un número o base a un exponente print parametro1∗∗parametro2 # continúa Funciones: Parámetros de entrada.
  • 48. # continuación def exponenciar2 (parametro1, parametro2 =2) : print parametro1∗∗parametro2 exponenciar (2,3); exponenciar (parametro2=3,parametro1=2); exponenciar (3,2); exponenciar (parametro2=2,parametro1=3); exponenciar2 (5); exponenciar2 (5,3); #llamadas erróneas exponenciar (2,3,4); Funciones: Parámetros de entrada.
  • 49. La propia identación delimita claramente los bloques. También se puede observar una cadena inicial que empieza por “ ”. Estas cadenas se utilizan para documentar las funciones. Los programadores familiarizados con JAVA pueden ver cierta similitud con el documento usado en este lenguaje. Funciones: Parámetros de entrada.
  • 50. Observe distintas formas cómo parametrizar las funciones. Normalmente suele llamarse la función con los parámetros en el mismo orden en que se ha definido la función. Sin embargo, se puede también llamar a la función con el nombre del parámetro y su valor asociado. Son posibles llamadas que se saltan la regla del orden: exponenciar (parametro2=3, parametro1=2), equivalente a exponenciar (2,3). Python obliga llamar las funciones usando exactamente el mismo número de argumentos, en caso contrario habrá un error de ejecución. Funciones: Parámetros de entrada.
  • 51. También es posible inicializar parámetros con valores por defecto en caso que no se proporcione su valor en el momento de la llamada. La función exponenciar2 muestra un ejemplo donde en caso de no proporcionar un argumento utilizaría un 2 por defecto (elevaría al cuadrado). También se permiten funciones con un número variable de parámetros. Funciones: Parámetros de entrada.
  • 52. # Ejemplos de definiciones y llamadas de # funciones. Función suma. def sumarLista (*parametros) : resultado = 0; for val in parametros : resultado = resultado + val; print resultado; sumarLista (1,2,3,4); Funciones: Parámetros de entrada.
  • 53. Esencialmente se define un argumento que contiene una tupla con todos los posibles parámetros a recibir. Esta tupla se recorre en tiempo de ejecución para poder utilizar los parámetros de forma adecuada. También debe considerarse que los parámetros a funciones en cualquier lenguaje de programación, se modifican en tiempo de ejecución. Tradicionalmente los pasos por parámetro funcionan por valor o por referencia. Funciones: Parámetros de entrada.
  • 54. En Python los pasos por parámetros son en general por referencia. La excepción la conforman los tipos de datos básicos o inmutables (enteros, flotantes, ...), que se pasan por valor. Funciones: Parámetros de entrada.
  • 55. En los pasos de parámetros por valor, los argumentos a una función no se modifican al salir de ella (en caso de que el código interno los altere). Técnicamente, se debe al hecho que realmente no se pasa a la función la variable en cuestión, sino una copia local a la función que es eliminada al acabar su ejecución. En el caso del paso por referencia se pasa a la función un puntero al objeto (en el caso de C) o simplemente una referencia (en lenguajes de alto nivel) que permite su indirección. Funciones: Parámetros de entrada.
  • 56. De este modo, las modificaciones a los parámetros que se hacen dentro de la función se ven reflejadas en el exterior una vez la función termina. En Python los pasos por parámetros son en general por referencia. La excepción la conforman los tipos de datos básicos o inmutables (enteros, flotantes, ...), que se pasan por valor. Funciones: Parámetros de entrada.
  • 57. # Ejemplos de definiciones y llamadas de # funciones. Función para verificar la # modificabilidad de los parámetros def persistenciaParametros (parametro1, parametro2) : parametro1 = parametro1 + 5; parametro2 [1] = 6; print parametro1 ; print parametro2 ; numeros = [1 ,2 ,3 ,4]; valorInmutable = 2; persistenciaParametros(valorInmutable, numeros); print numeros; print valorInmutable; Funciones: Parámetros de entrada.
  • 58. Como puede observarse, a partir de la ejecución del ejemplo, el vector de números sufre las modificaciones debidas al código interno de la función, mientras que el valor entero se modifica dentro de la función pero pierde esta modificación al devolver el control al programa principal. Funciones: Parámetros de entrada.
  • 59. La sintaxis para el retorno de valores difiere de los lenguajes de programación habituales, puesto que Python permite devolver más de un valor de retorno. La palabra clave a utilizar es return, seguida de la lista de argumentos que hay que devolver. Existe también la posibilidad de obviar los valores de retorno y utilizar el paso de parámetros por referencia, obteniendo un resultado similar. En realidad la función sólo devuelve un valor (la lista), pero el efecto producido es el mismo que si pudiera devolver múltiples valores. Valores de retorno.
  • 60. # Ejemplos de definiciones y llamadas de # funciones. Función para practicar el retorno de #valores def suma(parametro1, parametro2) : return parametro1 + parametro2; def potencia (parametro1, parametro2) : return parametro1 ∗∗ parametro2; def sumaPotencia (parametro1, parametro2) : return parametro1 + parametro2, parametro1 ∗∗ parametro2; Valores de retorno.
  • 61. resultado1 = suma (2,3); print resultado1; resultado2 = potencia (2,3) ; print resultado2; resultado3 = sumaPotencia (2,3); print resultado3; Valores de retorno.
  • 62. Una tupla es una secuencia inmutable y ordenada de elementos. Cada uno de los elementos que conforman una tupla puede ser de cualquier tipo (básico o no). La sintaxis para declarar una tupla consiste en especificar sus elementos separados por una coma (,). Tipos de datos: Tuplas.
  • 63. # Ejemplos de uso de tuplas tupla_vacia = ( ); tupla1 = 1,2,3,4,6, tupla1b = (1,2,3,4,6) ; tupla2 = ’hola’,2,3 tupla3 = tupla2,90 tupla4 = tuple (’ejemplo’); Tipos de datos: Tuplas.
  • 64. #Resultado de la ejecución >>> print tupla1 (1,2,3,4,6) >>> print tupla1b (1,2,3,4,6) >>> print tupla2 (’hola’,2,3) >>> print tupla2 (’hola’,2,3) >>> print tupla3 ((’hola’,2,3), 90) >>> print tupla4 (’e’,’j’,’e’,’m’,’p’,’l’,’o’) Tipos de datos: Tuplas.
  • 65. Una lista es una secuencia mutable y ordenada de elementos. A diferencia de las tuplas, los elementos de las listas se pueden modificar aunque hayan recibido un valor asignado. Para especificar los elementos que forman una lista, se usa un conjunto de elementos separada de nuevo por coma (,), al principio y al final la lista se envuelve entre corchetes [,]. Tipos de datos: Listas.
  • 66. # Ejemplos de uso de listas lista_vacia = []; lista = [1,2,3,4,6] lista2 = [’hola’,2 ,3]; lista3 = [lista2,90,’bueno’]; lista4 = list(’ejemplo’); lista5 = [1,2,3,4,5,6,7,8,9]; Tipos de datos: Listas.
  • 67. #Resultado de la ejecución >>>print lista_vacia [] >>>print lista [1,2,3,4,6] >>>print lista2 [’hola’,2,3] >>>print lista3 [[’hola’,2,3],90,’bueno’ ] >>>print lista4 [’e’,’j’,’e’,’m’,’p’,’l’,’o’] >>>lista3[2] ’bueno’ >>>lista3[0] [’hola’,2,3] Tiposdedatos:Listas.
  • 68. #Ejemplos de acceso a sublistas >>>lista5 [2:3] [3] >>>lista5 [3:] [4,5,6,7,8,9] >>>lista5 [:3] [1,2,3] >>>lista5 [:] [1,2,3,4,5,6,7,8,9] Tipos de datos: Listas.
  • 69. #Añadir elementos a una lista >>>lista = [1,2,3,4,6] >>>lista . append ([7,8,9]) >>>print lista [1,2,3,4,6,[7,8,9]] >>>lista = [1,2,3,4,6] >>>lista . extend ([7,8,9]) >>>print lista [1,2,3,4,6,7,8,9] Tipos de datos: Listas.
  • 70. #Buscar y eliminar elementos >>>lista2 . index (’hola’) 0 >>>print lista2 [’hola’,2,3] >>>lista2 . remove (’hola’) >>>print lista2 [2,3] #operadores sobrecargados de concatenación >>>print lista2 + lista2 [2,3,2,3] >>>print lista2 ∗ 4 [2,3,2,3,2,3,2,3] Tiposdedatos:Listas.