Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Andy Robert Bances Cuenca - Trabajo Final - Gestion Del Conocimiento
Andy Robert Bances Cuenca - Trabajo Final - Gestion Del Conocimiento
PYTHON
GESTIÓN DEL CONOCIMIENTO
1
INTRODUCCION
Python es un lenguaje de programación interpretado, orientado a objetos y de
alto nivel con semántica dinámica. Sus estructuras de datos integradas de alto
nivel, combinadas con tipado dinámico y enlace dinámico, lo hacen muy atractivo
para el desarrollo rápido de aplicaciones, así como para usarlo como un lenguaje
de scripting o pegamento para conectar los componentes existentes. La sintaxis
simple y fácil de aprender de Python enfatiza la legibilidad y, por lo tanto, reduce
el costo del mantenimiento del programa. Python admite módulos y paquetes, lo
que fomenta la modularidad del programa y la reutilización de código. El
intérprete de Python y la extensa biblioteca estándar están disponibles en
formato fuente o binario sin cargo para todas las plataformas principales, y se
pueden distribuir libremente.
2
Mi Primer Programa en Python
Existen dos formas de ejecutar código Python, bien en una sesión interactiva
(línea a línea) con el intérprete, o bien de la forma habitual, escribiendo el código
en un archivo de código fuente y ejecutándolo.
El primer programa que vamos a escribir en Python será Hola UNFV, y en este
lenguaje es tan simple como:
print (“Hola UNFV”)
De esta forma se mostrará una consola con el texto Hola UNFV hasta que
pulsemos Enter.
Si utilizas Linux (u otro Unix) , para que el sistema operativo abra el archivo .py
con el intérprete adecuado, es necesario añadir una nueva línea al principio del
archivo:
#!/usr/bin/python
print “Hola Mundo”
raw_input()
3
(Herramienta “nano” en terminal, linux y MacOS)
chmod +x hola_unfv.py
4
Tipos Básicos
Números:
Estos tipos de datos se crean mediante literales numéricos y se devuelven como
resultados por operadores aritméticos y funciones aritméticas integradas. Los
objetos numéricos son inmutables; Una vez creado su valor nunca cambia.
Por supuesto, los números de Python están fuertemente relacionados con los
números matemáticos, pero están sujetos a las limitaciones de la representación
numérica en las computadoras.
Python distingue entre enteros, números de punto flotante y números complejos:
ENTEROS:
Los números enteros son aquellos que no tienen decimales, tanto positivos como
negativos (además del cero). En Python se pueden representar mediante el
tipo int (de integer, entero) o el tipo long (largo). La única diferencia es que el tipo
long permite almacenarnúmeros más grandes. Es aconsejable no utilizar el
tipo long a menos que sea necesario, para no malgastar memoria.
Ejemplo de enteros
Al asignar un número a una variable esta pasará a tener tipo int, a menos que el
número sea tan grande como para requerir el uso del tipo long. Con
type(variable), mostraremos el tipo de dato en pantalla
entero= 50
print entero, type(entero)
5
Enteros long
Números de punto flotante (float). Los objetos tipo float corresponden al conjunto
de los números reales. Python, implementa su tipo float a bajo nivel mediante
una variable de tipo double de C, es decir, utilizando 64 bits, luego en Python
siempre se utiliza doble precisión, y en concreto se sigue el estándar IEEE 754:
1 bit para el signo, 11 para el exponente, y 52 para la mantisa. Esto significa que
los valores que puede representar van desde ±2,2250738585072020 x 10 -
308 hasta ±1,7976931348623157×10 308.
6
Hay que tomar en cuenta de que la precisión de los números dependen en gran
medida de la capacidad del equipo de cómputo, por lo que en ocasiones una
operación con números de tipo float no dará el resultado exacto, sino una
aproximación.
Para representar un número real en Python se escribe primero la parte entera,
seguido de un punto y por último la parte decimal.
real=13.5
type(real)
Complejos
Los números complejos son aquellos que tienen parte imaginaria, la mayor parte
de lenguajes de programación carecen de este tipo, aunque sea muy utilizado
por ingenieros y científicos en general. En el caso de que necesite utilizar
números complejos, o simplemente tiene curiosidad, este tipo,
llamado complex en Python, también se almacena usando coma flotante, debido
a que estos números son una extensión de los números reales.
Los números complejos en Python se representan de la siguiente forma:
complejo=1+7.8
Operadores:
Operadores de asignaciones
>>> r = 5
= asigna valor a una variable
>>> r1 = r
>>> r = 5
>>> r += 10; r
+= suma el valor a la variable
15
>>> r = 5
-= resta el valor a la variable
>>> r -= 10; r
7
-5
>>> r = 5
>>> r *= 10; r
*= multiplica el valor a la variable
50
>>> r = 7
>>> r /= 3; r
/= divide el valor a la variable
2.33333
>>> r = 5
>>> r = 5
>>> r = 7
Puede que tengáis dudas sobre cómo funciona el operador de módulo, y cuál es
la diferencia entre división y división entera. El operador de módulo no hace otra
cosa que devolvernos el resto de la división entre los dos operandos. En el
ejemplo, 7/3 sería 2, con 1 de resto, luego el módulo es 1.
8
La diferencia entre división y división entera no es otra que la que indica su
nombre. En la división el resultado que se devuelve es un número real, mientras
que en la división entera el resultado que se devuelve es solo la parte entera.
Operadores aritméticos
Una corta referencia de los operadores aritméticos se ofrece a continuación:
Operador Descripción Ejemplo
>>> 3 + 2
+ Suma
5
>>> 4 - 7
- Resta
-3
>>> -7
- Negación
-7
>>> 2 * 6
* Multiplicación
12
>>> 2 ** 6
** Exponente
64
>>> 3.5 / 2
/ División
1.75
9
>>> 3.5 // 2
// División entera
1.0
>>> 7 % 2
% Módulo
1
Operadores relacionales
>>> 5 == 3
== ¿son iguales a y b?
False
>>> 5 != 3
!= ¿son distintos a y b?
True
>>> 5 < 3
< ¿es a menor que b?
False
>>> 5 > 3
> ¿es a mayor que b?
True
>>> 5 <= 5
<= ¿es a menor o igual que b?
True
10
>>> 5 >= 3
>= ¿es a mayor o igual que b?
True
Cadenas
Las cadenas no son más que texto encerrado entre comillas simples (‘cadena’)
o dobles (“cadena”). Dentro de las comillas se pueden añadir caracteres
especiales escapándolos con \, como \n, el carácter de nueva línea, o \t, el de
tabulación.
Una cadena puede estar precedida por el carácter u o el carácter r, los cuales
indican, respectivamente, que se trata de una cadena que utiliza codificación
Unicode y una cadena raw (del inglés, cruda). Las cadenas raw se distinguen de
las normales en que los caracteres escapados mediante la barra invertida (\) no
se sustituyen por sus contrapartidas.
Esto es especialmente útil, por ejemplo, para las expresiones regulares, como
veremos en el capítulo correspondiente.
unicode = u”äóè”
raw = r”\n”
Las cadenas también admiten operadores como +, que funciona realizando una
concatenación de las cadenas utilizadas como operandos y *, en la que se repite
la cadena tantas veces como lo indique el número utilizado como segundo
operando.
a = “uno”
b = “dos”
c = a + b # c es “unodos”
c = a * 3 # c es “unounouno”
COLECCIONES
- LISTAS
11
En Python tiene varios tipos de datos compuestos y dentro de las secuencias,
están los tipos de cadenas de caracteres. Otro tipo muy importante de
secuencia son las listas.
Entre las secuencias, el más versátil, es la lista, para definir una, usted debe
escribir es entre corchetes, separando sus elementos con comas cada uno.
>>> factura
Una lista en Python es una estructura de datos formada por una secuencia
ordenada de objetos.
>>> factura[0]
'pan'
>>> factura[3]
1234
Los índices de una lista inicia entonces de 0 hasta el tamaño de la lista menos
>>> factura[-1]
1234
12
Los índices negativos van entonces de -1 (último elemento) a-
len(factura) (primer elemento).
>>> factura[-len(factura)]
'pan'
>>> factura
DICCIONARIOS
Los diccionarios pueden ser creados colocando una lista separada por coma
de pares “key:value” entre {}, por ejemplo: “{'python': 27, 'plone': 51}” o
“{27:'python', 51:'plone'}”, o por el constructor “dict()”.
>>> diccionario = {
... "clave1":234,
... "clave2":True,
13
... "clave4":[1,2,3,4]
... }
Usted puede acceder a los valores del diccionario usando cada su clave, se
presenta unos ejemplos a continuación:
>>> diccionario['clave1']
234
>>> diccionario['clave2']
True
>>> diccionario['clave3']
'Valor 1'
>>> diccionario['clave4']
[1, 2, 3, 4]
>>> type(diccionario['clave1'])
<type 'int'>
>>> type(diccionario['clave2'])
<type 'bool'>
>>> type(diccionario['clave3'])
<type 'str'>
>>> type(diccionario['clave4'])
<type 'list'>
14
Control de flujo
SENTENCIAS CONDICIONALES
if numero < 0:
numero = 0
elif numero == 0:
elif numero == 1:
else:
15
Sentencia if
La sentencia if EXPRESION, significa, Si se cumple la expresión
condicional se ejecuta el bloque de sentencias seguidas.
Sentencia elif
Sentencia else
BUCLES
BUCLE WHILE
En Python tiene una palabra reservada llamada while que nos permite ejecutar
ciclos, o bien secuencias periódicas que nos permiten ejecutar código múltiples
veces.
A continuación, se presenta un ejemplo del uso del bucle while controlado por
conteo:
suma, numero = 0, 1
16
while numero <= 10:
numero = numero + 1
En este ejemplo tiene un contador con un valor inicial de cero, cada iteración
del while manipula esta variable de manera que incremente su valor en 1, por lo
que después de su primera iteración el contador tendrá un valor de 1, luego 2, y
así sucesivamente.
A continuación, se presenta un ejemplo del uso del bucle while controlado por
Evento:
grado = int(raw_input())
contar = contar + 1
grado = int(raw_input())
En este casi el evento que se dispara cuando el usuario ingresa el valor -1,
causando que el bucle while se interrumpo o no se inicie.
17
Bucle ‘while’ con ‘else’
Al igual que la sentencia if, la estructura while también puede combinarse con
una sentencia else).
grado = int(raw_input(mensaje))
contar += 1
grado = int(raw_input(mensaje))
else:
Sentencias utilitarias
Sentencia break
variable = 10
18
while variable > 0:
variable = variable -1
if variable == 5:
break
Esta nos permite salir del ciclo incluso si la expresión evaluada en while (o en
otro ciclo como for) permanece siendo True. Para comprender mejor use el
mismo ejemplo anterior pero se interrumpe el ciclo usando la sentencia break.
Sentencia continue
variable = 10
variable = variable -1
if variable == 5:
continue
La sentencia continue hace que pase de nuevo al principio del bucle aunque no
se haya terminado de ejecutar el ciclo anterior.
Ejemplos
Sucesión de Fibonacci
a, b = 0, 1
19
while b < 100:
print b,
a, b = b, a + b
Bucle for
A continuación, se presenta un ejemplo del uso del bucle for con tipos de
estructuras de datos listas:
animal, len(animal))
A continuación, se presenta un ejemplo del uso del bucle for con tipos de
estructuras de datos listas con la función range() y la función len():
20
print "Palabra: {0}, en la frase su posición es: {1}".format(
frases[palabra], palabra)
A continuación, se presenta un ejemplo del uso del bucle for con tipos de
estructuras de datos Tuplas:
conexion_bd = "127.0.0.1","root","123456","nomina"
print parametro
A continuación, se presenta un ejemplo del uso del bucle for con tipos de
estructuras de datos diccionarios:
datos_basicos = {
"nombres":"Leonardo Jose",
"apellidos":"Caballero Garcia",
"cedula":"26938401",
"fecha_nacimiento":"03/12/1980",
"nacionalidad":"Venezolana",
"estado_civil":"Soltero"
clave = datos_basicos.keys()
valor = datos_basicos.values()
21
cantidad_datos = datos_basicos.items()
db_connection = "127.0.0.1","5432","root","nomina"
print parametro
else:
server=db_connection[0], port=db_connection[1],
user=db_connection[2], db_name=db_connection[3])
22