Vi esto en un sitio abandonado, y, aunque es escueto, me parece que puede resultarle útil a alguien, así que, ahí va:
Como usar python
Desde la linea de comando. Para arrancar el intérprete (Python interactivo) ejecutar:Escribimos en la consola python
>>> A este simbolo se le llama el prompt de python y sera el encargado de decir donde empieza una linea de código.$ python
Python 2.3.3 (#1, Dec 30 2003, 08:29:25)
[GCC 3.3.1 (cygwing special)] on cygwin
Type “help”, “copyright”, “credits” or “license” for more
information.>>>
Para salir del intérprete CtrlD (en Linux)
Ejemplo:Un comando simple:>>> import sys>>> sys.exit()
—————————————————————————————————————————————————————–>>> print “Hola Mundo”
Hola Mundo
Editores de Python
Spe, idle, Komodo. Pero se puede usar cualquier editor de texto plano conocido como el vim, nano, gedit, kate, quanta entre otros.—————————————————————————————————————————————————————–
¿Cómo debes guardar los Archivos?
Debemos guardar el archivo con extension .pyLuego se ejecuta colocando en consola
Es importante localizar la dirección donde se encuentra el interprete esto se hace tecleando en consola.python archivo.py
El resultado de esto es la primera linea que colocamos en nuestro script como se verá a continuación:which python
—————————————————————————————————————————————————————–#!/usr/bin/pythonprint “Hola mundo!”
Comentarios en python
-
Comentarios de una sola linea
Se coloca con el carácter #
Ejemplo: # comentarios de una línea se indican con carácter ‘#’
-
Comentarios de varias lineas
Se debe usar tiple comillas al inicio y al final del comentario.
—————————————————————————————————————————————————————–Ejemplo:“”"
Este es un comentario de varias lineas
Este es un comentario de varias lineas
Este es un comentario de varias lineas
“”"
Mostrar datos por pantalla
Con print le decimos a python que muestre datos por pantalla. Realmente lo que hace print es llamar a un módulo del espacio de nombre sys: sys.stdout.write(“cadena”).El cual le pasa como parámetro de entrada lo que pongas a continuación del print
Equivalente aImport sys
sys.stdout.write(“Hola mundo!”)
—————————————————————————————————————————————————————–print “Hola mundo!”
Tomar datos desde el teclado
Es muy parecido a la filosofía usada para el print, ya que en este caso haremos uso delraw_input(“Mensaje por pantalla”)
módulo sys.stdin.read()
Equvalente aImport sys
variabledeSalida=sys.stdin.read(entero)
entero es el largo de la cadena a leer
—————————————————————————————————————————————————————–variabledeSalida=raw_input(“Mensaje por pantalla”)
Operadores
- Operadores Relacionales
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
!= distinto
== igual
< menor que
>= mayor o igual que
<= menor o igual que
!= distinto
== igual
- Operadores Arítmeticos
+ suma (usado para números y para concatenar cadenas)
- resta
* multiplicación
/ división
% modulo o resto
- resta
* multiplicación
/ división
% modulo o resto
- Operadores Lógicos
and y lógico
or o lógico
not no lógico
—————————————————————————————————————————————————————–or o lógico
not no lógico
Sentencias y bloques
Las sentencias acaban en nueva línea, NO en ( ; ).Los bloques son indicados por tabulación que sigue a una sentencia acabada en ‘:’.
E.j. (bloque.py):
#!/usr/bin/python
name = “Luis1″ # asignación de valor a variable
if name == “Luis”:
print “Hola Luis”
else:
print “¿Quién eres?”
print “¡No eres Luis!”
$ python bloque.py
Salida del terminal:
—————————————————————————————————————————————————————–¿Quién eres?
¡No eres Luis!
Estructuras de decisiones y bucles:
La condición puede ir o no en paréntesis.Nota: en python no existe el switch
- Sentencia if: (simple)
if condicion:sentencia1
sentencian
else:
sentencia11
sentencia nn
- Sentencia if: (Doble)
if condicion:sentencia1
sentencian
else:
sentencia11
sentencia nn
- Sentencia if: (múltiple)
if condicion:
—————————————————————————————————————————————————————–sentencia1
sentencian
elif condicion:sentencia11
sentencia nn
Control de Bucles o sentencias iterativas
- for: se utiliza para iterar sobre los miembros de una secuencia.
Ej. bucle.py
for x in range(1,5):
print x
$ python bucle.py
1 2 3 4
- while: es otra sentencia de repetición. Ejecuta un bloque de código hasta que una condición es falsa.
while condicion:
sentencia1
sentencian
Por ejemplo:sentencia1
sentencian
reply = ‘repite’
>>> while reply == ‘repite’:
print ‘Hola’
reply = raw_input(‘Introduce “repite” para hacerlo de nuevo’)
- break: nos sirve para salir de un bucle, sirve para pasar a la próxima iteracion dejando sin ejecutar lo que se encuentra por debajo de el.
Identificadores
Sirven para nombrar variables, funciones y módulos . Deben empezar con un carácter no numérico y contener letras seguido de números y ‘_’ .No se debe usar una plabara reservada del lenguaje para los identificadores.
En python no hace falta delcarar variables. Simplemente se colocan a medida que se vayan usando.
El solo entiende de expresiones numericas y alfanumericas, (estas últimas se colocan entre comillas dobles o simples.) Python es case sensitive
Palabras Reservadas:
and elif global or assert else if pass break except import print class exec in raise continue finally is return def for lambda try del from not while
—————————————————————————————————————————————————————–
Tipos de Datos
Numéricos (integer, long integer, floatingpoint, and complex)- Strings
- Listas
- Tuplas
- Diccionarios
La función int, long, float lo que me hace es una conversión si es posible al tipo de datos en caso contario me lanzara una excepción.
Strings, delimitados por un par de (‘, ” ). Dos string juntos sin delimitador se unen>>> x = 4
>>> int (x)
4>>> long(x)
4L>>> float(x)
4.0>>> complex (4, .2)
(4+0.2j)
Algunos de los métodos que se pueden aplicar a un string son:>>> print “Hi” “there”
Hithere
—————————————————————————————————————————————————————–>>> len(‘La vida es mucho mejor con Python.’)
>>> 34>>> ‘La vida es mucho mejor con Python.’.upper()‘LA VIDA ES MUCHO MEJOR CON PYTHON’>>> “La vida es mucho mejor con Python”.find(“Python”)
27>>> “La vida es mucho mejor con Python”.find(‘Perl’)
1>>> ‘La vida es mucho mejor con Python’.replace(‘Python’, ‘Jython’)
‘La vida es mucho mejor con Jython’
El módulo string de Python library
Se definen métodos para manipulación de strings:—————————————————————————————————————————————————————–>>> import string
>>> s1 = ‘La vida es mejor con Python’
>>> string.find(s1, ‘Python’)
21‘%’ es el operador de formateo de cadenas:
>>> variable = ‘muchachos’
>>> “Hola %s %s” % (variable, “Como estan”)
‘La capital de Araba es Gasteiz’
Listas
Es un conjunto ordenado de valores, en el cual cada valor va identificado por un índice.Los valores que constituyen una lista son sus elementos.
Las listas son similares a las cadenas de texto (strings), que son conjuntos ordenados de caracteres, excepto en que los elementos de una lista pueden ser de cualquier tipo.
Las listas y las cadenas, y otras cosas que se comportan como conjuntos ordenados, se llaman secuencias.
Para terminar, hay una lista especial que no contiene elementos.
Se la llama lista vacía y se representa [].
La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes [].
La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero:
Indexadas por un entero comienzan en 0:
ejemplo:
—————————————————————————————————————————————————————–>>> meses = ["Enero", "Febrero"]
>>> print meses[0]
Enero
Matrices
Es común usar listas anidadas para representar matrices. Por ejemplo, la matriz:Puede ser representada como:1 2 3
7 8 9
4 5 6
Matriz es una lista con tres elementos, siendo cada elemento una fila de la matriz.Podemos elegir una fila entera de la matriz de la forma normal:>>> matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Añadir un elemento a la lista: append añade un elemento al final de la lista>>> matriz[1]
[4, 5, 6]
Dos puntos (:) es el operador de rodajas, permite trabajar con una porción de la lista, el elemento indicado por el segundo parámetro no se incluye:>>>meses=["enero","Febrero"]
>>> meses.append(“Marzo”)
>>> print meses
['Enero', 'Febrero', 'Marzo']
Para usar una lista como una pila, se pueden usar append y pop:>>> print meses[1:2]
['Febrero']
Nota: Para mayor documentación sobre las metodos que se le pueden aplicar a una lista pydoc list>>> items.append(555)
>>> items [1, 4, 6, 555]
>>> items.pop( )
—————————————————————————————————————————————————————–
Listas pydoc list
L es el nombre de la listaappend(…)
Las listas pueden contener cualquier tipo de objetos Python:| L.append(object) append object to end
| count(…)
| L.count(value) > integer return number of occurrences of value
| extend(…)
| L.extend(iterable) extend list by appending elements from the iterable
| index(…)
| L.index(value, [start, [stop]]) > integer return first index of value
| insert(…)
| L.insert(index, object) insert object before index
| pop(…)
| L.pop([index]) > item remove and return item at index (default last)
| remove(…)
| L.remove(value) remove first occurrence of value
|
| reverse(…)
| L.reverse() reverse *IN PLACE* |
—————————————————————————————————————————————————————–>>> meses=["Enero","Febrero"]
>>> meses1=["Marzo","Abril"]
>>> meses.append(meses1)
>>> print meses
['Enero', 'Febrero', ['Marzo', 'Abril']]
meses.append(1)
>>> print meses
['Enero', 'Febrero', ['Marzo', 'Abril'], 1]
Para añadir un elemento a una lista en una determinada posición:
—————————————————————————————————————————————————————–>>> items = [4, 6]
>>> items.insert(0, 1)
>>> print items
[1, 4, 6]
Más (+) es el operador de concatenación:
—————————————————————————————————————————————————————–>>> print meses+meses
['Enero', 'Febrero', 'Marzo', 'Enero', 'Febrero',
'Marzo']
lst=[1,”cad”,[1,2],12]print lst #imprime la lista completa
print lst[1] #imprime cad
print lst[1][2] se imprime la d de cad
print lst[2][1] imprime el segundo componente del segundo componente de la lista es decir el 2
Acceder a un trozo de la lista sin incluir los extremos
—————————————————————————————————————————————————————–>>>print lst[1:3]#imprime [1,2] no incluye los extremos con respecto al índice
>>>print lst[2:]# imprime la posicion 2 incluyendo el ultimo elemento de la lista
>>>print lst[:2]# imprime desde el primero hasta el de la posición 21 no incluye el extremo
Funcion range
Ayudas en consola pydoc range me da documentacion sobre esta funcion.st=range(20) #Esta funcion lo que me crea es una lista que va desde el 0 al 19. no incluye
el 20
>>> lst=range(20)
>>> print lst
sintáxis de la función range
range([start,] stop[, step]) #nota no incluye el extremo final es decir stop
Ejemplo:
—————————————————————————————————————————————————————–range(0,20,4)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>print lst[5:15:2] #imprime comenzando en la posición 5 hasta el 15 sin incuirlo con un
paso de 2
[5, 7, 9, 11, 13]
>>>
Cadenas y listas
Dos de las funciones más útiles del módulo string tienen que ver con listas de cadenas.-
La función split divide una cadena en una lista de palabras.
Por defecto, cualquier número de caracteres de espacio en blanco se considera un límite de palabra:
>>> import string
>>> cancion = “La lluvia en Mérida…”
>>> string.split(cancion)
[’La’, ’lluvia’, ’en’, Mérida...’]
Se puede usar un argumento opcional llamado delimitador para especificar qué caracteres se usarán como límites de palabra. El siguiente ejemplo usa la cadena ll como delimitador:
>>> string.split(cancion, ’ll’)
[’La ’, ’uvia en Mérida’]
Observe que el delimitador no aparece en la lista.
-
La función join es la inversa de split. Toma una lista de cadenas y concatena los elementos con un espacio entre cada par:
>>> lista = [’La’, ’lluvia’, ’en’, Mérida...’]
>>> string.join(lista)
La lluvia en Mérida…’
Como split, join acepta un delimitador opcional que se inserta entre los elementos. El delimitador por defecto es el espacio.
—————————————————————————————————————————————————————–>>> string.join(lista, ’_’)
La_lluvia_en_Sevilla…’
Tuplas
Son tipo de datos iguales que la listas pero con la salvedad que no se pueden modificar.Se usan paréntesis para delimitar sus valores.
Hasta ahora, ha visto dos tipos compuestos: cadenas, que están hechas de caracteres, y listas,
que están hechas de elementos de cualquier tipo.
Una de las diferencias que señalamos es que los elementos de una lista se pueden modificar, pero los caracteres de una cadena no.
En otras palabras, las cadenas son inmutables y las listas son mutables.
En Python hay otro tipo llamado tupla que es similar a una lista salvo en que es inmutable.
Sintácticamente, una tupla es una lista de valores separados por comas:
Aunque no es necesario, la convención dice que hay que encerrar las tuplas entre paréntesis:>>> tupla = ’a’, ’b’, ’c’, ’d’, ’e’
Para crear una tupla con un solo elemento, debemos incluir una coma final:>>> tupla = (’a’, ’b’, ’c’, ’d’, ’e’)
Sin la coma, Python trata (’a’) como una cadena entre paréntesis:>>> t1 = (’a’,)
>>> type(t1)
El operador índice selecciona un elemento de la tupla.>>> t2 = (’a’)
>>> type(t2)
Y el operador de porción elementos.>>> tupla=(“a”,”b”,”c”,”d”,”e”)
>>> tupla[0]
‘a’
Asignaciones multiples>>> tupla[1:3]
(‘b’, ‘c’)
—————————————————————————————————————————————————————–i,j=10,20 #ene ste caso i=10 y j=20
Diccionarios
Diccionarios {} arrays asociativos o mapas, indexados por una clave, el valor puede ser cualquier objeto Python, la clave normalmente es un objeto inmutables:Forma de Acceder a un elemento del diccionario se hace a través de las claves>>> mydict = {“altura” : “media”, “habilidad” : “intermedia”, “salario” : 1000 }
>>> print mydict
{altura’: ‘media’, ‘habilidad’: ‘intermedia’, ‘salario’: 1000
Puedes comprobar la existencia de una clave en un diccionario usando has_key:>>> print mydict["habilidad"]intermedia
Las claves deben ser tipos inmutables (Es decir que los valores se pueden modificar), no hay forma de saber como esta ordenadoif mydict.has_key(‘altura’):
print ‘Nodo encontrado’
Lo mismo se podría hacer:
if ‘altura’ in mydict:
print ‘Nodo encontrado’
Algunos metodos aplicados a este tipo de datos (ayuda en consola pydoc dict)dc={“lclave”:”valor”,”lista”:[1,2,3,4],”tupla”:([1,2,3],4),4:”entero”}
Algunos metodos aplicados a este tipo de datos (ayuda en consola pydoc dict)clear(…)
| D.clear() > None. Remove all items from D.
| copy(…)
| D.copy() > a shallow copy of D
| get(…)
| D.get(k[,d]) > D[k] if k in D, else d. d defaults to None.
|
| has_key(…)
| D.has_key(k) > True if D has a key k, else False
|
| items(…)
| D.items() > list of D’s (key, value) pairs, as 2tuples
iteritems(…)
| D.iteritems() > an iterator over the (key, value) items of D
¡ iterkeys(…)
| D.iterkeys() > an iterator over the keys of D |
—————————————————————————————————————————————————————–itervalues(…)
| D.itervalues() > an iterator over the values of D
| keys(…)
| D.keys() > list of D’s keys
| pop(…)
| D.pop(k[,d]) > v, remove specified key and return the corresponding value
| If key is not found, d is returned if given, otherwise KeyError is raised
| popitem(…)
| D.popitem() > (k, v), remove and return some (key, value) pair as a
| 2tuple; but raise KeyError if D is empty
| setdefault(…)
| D.setdefault(k[,d]) > D.get(k,d), also set D[k]=d if k not in D
| update(…)
| D.update(E, **F) > None. Update D from E and F: for k in E: D[k] = E[k]
| (if E has keys else: for (k, v) in E: D[k] = v) then: for k in F: D[k] = F[k]
|
| values(…)
| D.values() > list of D’s values
Funciones en Python
Se usa la palabra reservada def seguido del identificador de la funcióny entre paréntesis los parametro; o sin parametros en caso de que no los tenga.(ojo se aplican las mismasreglas a este identificador como si fuese una variable)def nombre_funcion(par1, par2,.., parn,): cuerpo return valor_retorno # en caso de que la función me retorne o no un parámetro
Forma de invocar a la función
En python tambien se le pueden colocar a los parametros de la función valores por defectos. En caso de que se llame la función y se le pase el argumento correspondiente en la función el parametro será reemplazado por el argumento.nombre_funcion(arg1, arg2,.., argn,)
def myfunc(a,b):
sum = a + b
return sum
print myfunc (5,6)
Pasando una tupla como parámetro. A las funciones tambien se les puede pasar una tupla como argumento. Pero entonces el el parametro dentro de la función debe ir precedido por un asterisco (*)#
# funcionvaloresdefecto.py
#
def myfunc(a=4,b=6):
sum = a + b
return sum
print myfunc()
print myfunc(b=8) # a es 4, sobreescribir b a 8
Pasando una lista como argumento: Se debe preceder los argumentos de la función por un asterisco (aunque no en este caso es opcional) al igual que sus parametros.#
#Pasando una tupla a una función en el momento en que se invoca
# funcionvaloresdefecto.py
#
def var_param(*parametros):#le estamos pasando una tupla
print “parametros es %s” %type(parametros)
for i in parametros:
print i,#la , lo que hace es que se imprima uno al lado del
otro
var_param(2,3,([1,2,3],7))
#
#Pasando una a una lista a una función en el momento en que se invoca
# funcionvaloresdefecto2.py
#
def var_param(parametros):#le estamos pasando una tupla
print “parametros es %s” %type(parametros)
for item in parametros:
print item#la , lo que hace es que se imprima uno al lado
del otro
lista=[2,3,([1,2,3],7)]
var_param(lista)
#Nota: La lista se transfoma en una tupla
Pasando una diccionario como argumento: Se debe preceder los argumentos de la función por un asterisco al igual que sus parametros.
—————————————————————————————————————————————————————–#
#Pasando una un diccionario a una función en el momento en que se invoca
#
def mas_param(**dc):
print “dc es un:%s”%type(dc)
for item in dc.keys():
print “%s : %s : %s “%(item,dc[item],type(dc[item]))
dc={“nombre”:”Richard Garcia”,”correo”:”rgarcia@fundacitemerida.gob.ve”}
mas_param(**{“nombre”:”Richard Garcia”,”correo”:”rgarcia@fundacitemerida.gob.ve”})
mas_param(**dc)
#nota: Tanto el argumento como los parametros deben estar precedidos por dos asteriscos
Módulos en Python
Módulos: es una colección de métodos en un fichero que acaba en .py. El nombre del fichero determina el nombre del módulo en la mayoría de los casos.Uso de un módulo: En otro escript aparte invoco al modulo. Donde modulo es el nombre que se le dio al fichero. Invocando a un modulo se puede hacer de dos maneras:
import nombre_modulo
from nombre_modulo import metodo1, metodo2, …, metodo n
E.j. modulo.py:from nombre_modulo import metodo1, metodo2, …, metodo n
Listando los procedimientos de un modulo en la consola interactivadef one(a):
print “in one”,adef two (c):print “in two” ,cEjemplo 1 Ejemplo2
import modulo from modulo import one
modulo.one(2) one(2)
Donde los que aparecen sin los guiones de pisos son los procedimientos que tiene ese modulo .>>> import modulo
>>> dir(modulo)
['__builtins__', '__doc__', '__file__', '__name__', 'one', 'two']
Tambien se pueden saber los modulos que tiene un archivo.(En un script de la siguiente manera)
Forma de incluir un modulo en la ruta donde python coloca los módulosimport sysimport modulo
dir(modulo)
—————————————————————————————————————————————————————–sys.path.insert(0,’ruta absoluta donde se encuentra el módulo’)sys.path son los sitios donde python va a buscar donde se encuentran los módulos
nota para saber los procedimientos de un modulo hago un dir(modulo)
Manejo de ficheros en Python
Abriendo un fichero en modo de lecturaAbriendo un fichero en modo de ecritura .f=open(”nombrefichero”,”r”)
Abriendo un fichero en modo de escritura conservando el contenido del mismof=open(”nombrefichero”,”w”)
Cerrando un ficherof=open(”nombrefichero”,”a”)
—————————————————————————————————————————————————————–f.close()
Leer un fichero (leer_fichero.py)
—————————————————————————————————————————————————————–#!/usr/bin/python
fh = open(“archivo.py”) # open crea un objeto de tipo fichero
fh = open(“archivo.py”,”r”)
for line in fh.readlines() : # lee todas las líneas en un fichero lo convierte en una lista
print line,
fh.close() #cerrando en el fichero#!/usr/bin/python
fh = open(“ejemplo.txt”) # open crea un objeto de tipo fichero
linea=fh.readline(); leo la primera linea como una cadena devuelve false en caso de estar
vacío
while(linea) : # lee todas las líneas en un fichero
print line
linea=fh.readline()
fh.close()
Nota: OJO CON ESTA MANERA DE LEER FICHEROS CUANDO LA PRIMERA LINEA
ESTA EN BLANCO DEL FICHERO O HAY UNA LINEA INTERCALADA VACIA
Escribir un fichero (escribirfichero.py)
—————————————————————————————————————————————————————–#si el fichero en el cual deseo escribir no existe automáticamente se crea el fichero,
siempre y cuando tenga permisos de escritura en el directotio donde lo estoy creando
#!/usr/bin/python
fh = open(“out.txt”, “w”) #abrir un fichero para escritura
fh.write (“estamos escribiendo …\n”) #Escribiendo en el fichero
fh.close() #cerrando en el fichero
luego ejecuto en consola el script
$ python escribirfichero.py
$ cat out.txt
estamos escribiendo …
Encurtidos.
Para poner valores en un archivo, debe convertirlos en cadenas. Ya ha visto cómo hacerlo con str:El problema es que cuando vuelve usted a leer el valor, obtiene una cadena. Ha perdido la>>> f.write (str(12.3))
>>> f.write (str([1,2,3]))
información del tipo de dato original. En realidad, no puede distinguir dónde termina un
valor y comienza el siguiente:
La solución es un encurtido, llamado así porque “conserva” estructuras de datos. El módulo pickle contiene las órdenes necesarias. Para usarlo, importe pickle y luego abra el>>> f.readline()
12.3[1, 2, 3]’
archivo de la forma habitual:
Manejo de ficheros en Python. Encurtidos Para almacenar una estructura de datos, use el método dump y luego cierre el archivo de la>>> import pickle
>>> f = open(“test.pck”,”w”)
forma habitual:
Ahora podemos abrir el archivo para leer y cargar las estructuras de datos que volcamos ahí:>>> pickle.dump(12.3, f)
>>> pickle.dump([1,2,3], f)
>>> f.close()
Cada vez que invocamos load obtenemos un valor del archivo, completo con su tipo original.>>> f = open(“test.pck”,”r”)
>>> x = pickle.load(f)
>>> x
12.3
>>> type(x)
>>> y = pickle.load(f)
>>> y
[1, 2, 3]
>>> type(y)
—————————————————————————————————————————————————————–
Excepciones en python
Las excepciones es el método usado por Python para controlar los errores de compilación de nuestros programas y tener control sobre ellos, para que de este modopodamos evitar que termine la ejecución de un programa de forma fortuita.Para tener este control Python nos proporciona 3 sentencias:
try: Esta palabra le indica al compilador que las siguientes sentencias pueden lanzar excepciones.
TypeError: cannot concatenate ‘str’ and ‘int’ objects#
exp.py
#
a=”Hola”
b=10
a=a+b
$ python exp.py
Traceback (most recent call last):
File “exp.py”, line 3, in ?
a=a+b
except: Es la palabra reservada que nos ofrece python para saber que a partir de allí sera el tratamiento de errores para las excepciones que encontremos dentro del try
Ejemplo:
—————————————————————————————————————————————————————–try:
a=”Hola”
b=10
a=a+b
except:
print “Error”
finally: Es la encargada de seguir el programa despues de controlar las excepciones
print “Error”
finally: Es la encargada de seguir el programa despues de controlar las excepciones
Programación orientada a objetos en python
La programación orientada a objetos representa una gran ventaja respecto al método tradicional. Ene ste sentido la orientación a objetos puede considerarse como una manerade ampliar las posibilidades de los tipos de datos de estructuras.
Clase que hereda de otras clasesSintaxis para crear clases:
Clase simple
class nombreClase:
Sintáxis general de una clase:class nombreClase(ClaseHereda1,ClaseHereda2):
ejemplo:
Class Persona:
class nombre_clase:
métodos_especiales
otros_métodos
Sintáxis general de una clase sin métodos:
class nombre_clase:
pass
Importar
a)Importar clases
b)Importar funciones de un ficherosintaxis:
import nombreClase
Funciones o métodos de las clasesSintaxis:
from nombreClase import nombreMétodo1,.., nombreMétodon
Sintaxis (Métodos especiales):
def __nombreMetodo__ (Parametros de Entrada):
Sintaxis (Otros métodos):
def nombre_metodo((Parametros de Entrada):
self:Es la palabra reservada que usa python para referirse al objeto que estemos tratando en otros lenguajes se usa la palabra reservada thisEjemplo:
def __init__ (self):
Constructor
Es un tipo especial de método que se encarga de crear un objeto o instancia de un tipo en concreto de la clase.
En python tiene el siguiente formato
Sintaxis:
def__init__(párametrosDE entrada1,..,párametrosDE entradan):
Ejemplo:def__init__(self):
Para llamar ese constructor desde fuera de la clase se utiliza el nombre de la clase que quiere instanciar a un objeto
Sintaxis
nuevoObjeto=nombreClase(parámetrosDe Entrada1,…,Parametros de EntradaN)
Ejemplo:
persona1=Persona(‘Ana’,'Ramirez’,programador)
Class Persona:
def __init__(self):#self es una variable; el primer parametro es la clase misma
persona1=Persona(‘Ana’,'Ramirez’,programador)
Class Persona:
def __init__(self):#self es una variable; el primer parametro es la clase misma
—————————————————————————————————————————————————————–
Conexion con base de datos.Sqlite
Para la base de dtos sqliteEn versiones como la 2.4 instalar: python2.4sqlite
En versiones de 2.5 en adelante el módulo ya viene por defecto import sqlte3 esta incorporadas a partir de python 2.5. Es decir ya la trae incorporadad el lenguaje
Conexion con base de datos.Sqlite
Conexion con base de datos.Sqliteimport sqlite3 as bd #en caso de ser otra base de datos debemos importar el modulo
conn=bd.connect(“/home/richard/curso_Francisco_python/prueba36.test”)
cur=conn.cursor()
def crearTabla():
cur.execute(“create table personas(nombre text,”\
“apellidos text);”)
conn.commit()
def insertarDatosEjemplo():
personas=[['Erny','Revilla'],['Lorenzo','Gil'],['Dani','Molina']]
for persona in personas:
cur.execute(“insert into personas (nombre,apellidos) values (‘%s’,'%s’)” %
tuple(persona))
conn.commit()
**********************continua**************************
def consultarDatos():
cur.execute(“select * from personas”)
for persona in cur:
print “%20s %20s” %(persona[0],persona[1])
“”"nota no se puede manejar la salida de una consulta dandole formato
debido a que las tuplas se devuelven en las cadenas con un caracter que
precede a las cadenas”"”
crearTabla()
insertarDatosEjemplo()
consultarDatos()
Primero debemos instalar:
- El servidor mysql (mysqlserver)
- Instalar el API de la bas de datos (pythonmysqldb)
Estableciendo una conexión
import MySQLdb as bd #importamos el API
conn=db.connect(db=”nombre_bd” , user=”nombre_usuario”,passwd=”pasword_user”,
host=”nombre_host”)
ejemplo:
conn=db.connect(db=”mysql” , user=”root”,passwd=”", host=”localhost”)
Conexión con base de datos. Postgrest
Primero debemos instalar:
- El servidor mysql (mysqlserver)
- Instalar módulo de python para postgres (python2.5psycopg2) en este caso si estamos trabajando con la versión de python2.5 sino instalar la correspondiente a la versión de python que estemos utilizando.
asl es una base de datos que ya esxiste y se creo en postgres.import psycoppg2 as bd #importamos el modulo
conn = db.connect (database=”nombre_bd” , user=”nombre_usuario”,
password=”password”, host=”localhost”, port=”5432”)
ejemplo:
conn=db.connect(database=”asl” , user=”usuario”, password=”123″, host=”localhost”,
port=”5432″)
Usuario es un usuario de postgres y password es la contraseña de ese usuario
No hay comentarios:
Publicar un comentario