manipulando clases

RadicalEd willian.radicaled en gmail.com
Mie Jul 9 15:46:14 CEST 2008


pfff, apenas me vengo a enterar, creo que voy a tener que leer muy bien esa
parte.

2008/7/9 Milton Galo Patricio Inostroza Aguilera <minoztro en gmail.com>:

> El día 8 de julio de 2008 12:14, RadicalEd
> <willian.radicaled en gmail.com> escribió:
> > 1) No tienes que instanciar un nuevo método en la clase hija, si haces
> eso
> > se llamaría sobrecarga de métodos y eso hace parte del polimorfismo.
> >
> > 2) El método __init__ es el constructor de la clase.
>
> __init__ es el inicializador de la clase, __new__ es el verdadero
> constructor
>
> >
> > 3) Nop, para eso puedes hacer un from tuarchivo import laclase
> >
> > On Tue, Jul 8, 2008 at 10:26 AM, <inf200468 en ucf.edu.cu> wrote:
> >
> >>
> >>
> >> Hola:
> >> sigo con algunas dudas con lo de la herencia, si yo declaro la clase
> padre
> >> y
> >> luego dentro de una funcion de la clase hija necesito llamar  a un
> metodo
> >> de la
> >> clase padre , tengo que instanciarla dentro del metodo o puedo llamar al
> >> metodo por su
> >> nombre___
> >> otra duda es que si todas las clases tienen que tener declarado un
> metodo
> >> __init__ o tienen uno por defecto
> >> y la otra es que si tengo que tener todas las
> >> clases en un mismo script
> >> les envio lo que he hecho para si pueden me digan si esta
> >> bien orientado , porque lo que es funcionar , funciona
> >>
> >>
> >> import sys
> >>
> >> import psycopg2
> >>
> >> import os
> >>
> >> class Conexion:
> >>
> >> ��  def __init__(self):
> >>
> >> ������  self.dbname="dbservicios"
> >>
> >> ������  self.user="postgres"
> >>
> >> ������  self.host="127.0.0.1"
> >>
> >> ������  self.password="pepe"
> >>
> >> ��  def conectar(self):
> >>
> >> ������  try:
> >>
> >> ����������  conn =
> >> psycopg2.connect("dbname=%s user=%s host=%s password=%s"%��
> >> (self.dbname,self.user,self.host,self.password))
> >>
> >> ������  except:
> >>
> >> ����������  print "Error
> >> de conexion"
> >>
> >> ����������  sys.exit()
> >>
> >> �����  return conn
> >>
> >>
> >>
> >> ��  def Commit(self,conex):
> >>
> >> ������  conex.commit()
> >>
> >>
> >>
> >> ��  def EjecutarConsulta(self,conex,sql,params):
> >>
> >> ������  cursor = conex.cursor()
> >>
> >> ������  cursor.execute(sql,params)
> >>
> >>
> >>
> >> class AnalizadoraAccessApache(Conexion):
> >>
> >> ��  """Esta clase almacena en la bd el contenido del
> >> access.log de apache2"""
> >>
> >> ��  def FiltrarAccess(self):
> >>
> >> ������  if(os.path.exists('D://a.log')):
> >>
> >> ����������  try:
> >>
> >> ��������������
> >> fichero = open('D://a.log','r')
> >>
> >> ����������  except:
> >>
> >> ���������������
> >> print 'no se pudo abrir el fichero'
> >>
> >> �
> >> ������������
> >> sys.exit()
> >>
> >> ����������
> >> Conexion.__init__(self) #instanciando la clase conexion
> >>
> >> ��������    conex =
> >> Conexion.conectar(self) # se conecta
> >>
> >>
> >>
> >> ����������  linea =
> >> fichero.readline()
> >>
> >> ����������  while (linea):
> >>
> >> ��������������
> >> pica = linea.split()
> >>
> >> ��������������
> >> self.ip_cliente=pica[0]# IP
> >>
> >> ��������������
> >> fecha = pica[3].split("[")
> >>
> >> ��������������
> >> fecha = fecha[1].split(":")
> >>
> >> �������������
> >> self.fecha=fecha[0]#fecha
> >>
> >> �������������
> >> self.hora=fecha[1]+":"+fecha[2]+":"+fecha[3]#hora
> >>
> >> �������������
> >> metodo = pica[5].split("\"")
> >>
> >> �������������
> >> self.metodo=metodo[1]# METODO
> >>
> >> �������������
> >> self.recurso=pica[6]# RECURSO
> >>
> >> �������������
> >> protocolo = pica[7].split("\"")
> >>
> >> �������������� self.protocolo=protocolo[0]
> >> # PROTOCOLO
> >>
> >> �������������
> >> self.codigo_estado=pica[8] # CODIGO
> >>
> >> ������������
> >> url=pica[10].split("\"") # URL
> >>
> >> ������������
> >> self.url=url[1]
> >>
> >> �����������
> >> if(pica[9]=="-"): # TAMA?O
> >>
> >> ���������������
> >> pica[9]='0'
> >>
> >> ����������
> >> self.tamano=pica[9]
> >>
> >> ����������  idlog='104'
> >>
> >>
> >>
> >> ���������
> >>
> >>
> params=(self.ip_cliente,self.fecha,self.hora,self.metodo,self.recurso,self.protocolo,self.codigo_estado,self.tamano,self.url,idlog)
> >>
> >> ���������
> >> sql="""insert into acceso_apache
> >>
> (ip_cliente,fecha,hora,metodo,recurso,protocolo,codigo_estado,tamano,url,id_log)
> >> values
> >> (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"""
> >>
> >> ���������
> >> Conexion.EjecutarConsulta(self,conex,sql,params)
> >>
> >> ���������
> >> Conexion.Commit(self,conex)
> >>
> >> ���������  linea =
> >> fichero.readline()
> >>
> >>
> >>
> >>
> >>
> #######################################################################################
> >>
> >>
> >>
> >> s=AnalizadoraAccessApache()
> >>
> >> s.FiltrarAccess()
> >>
> >>
> >>
> >>
> >> --------------------------------
> >> Servicio del Grupo de Redes
> >> Universidad de Cienfuegos
> >> Contacto: adminred en ucf.edu.cu
> >>
> >> _______________________________________________
> >> Lista de correo Python-es
> >> http://listas.aditel.org/listinfo/python-es
> >> FAQ: http://listas.aditel.org/faqpyes
> >>
> >
> >
> >
> > --
> > The knowledge is the most dangerous
> > weapon & SoloCodigo is the most important programing webforum.
> > http://foros.solocodigo.com
> >
> > _______________________________________________
> > Lista de correo Python-es
> > http://listas.aditel.org/listinfo/python-es
> > FAQ: http://listas.aditel.org/faqpyes
> >
>
>
>
> --
> Milton Inostroza Aguilera
>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>



-- 
The knowledge is the most dangerous
weapon & SoloCodigo is the most important programing webforum.
http://foros.solocodigo.com
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es