duda sobre constructora de clase
Batista, Facundo
FBatista en uniFON.com.ar
Mie Ene 5 19:30:32 CET 2005
[Milton inostroza]
#- hola tengo una duda sobre esto:
#-
#- Estaba viendo un programa y este programa hace esto, construye un
#- objeto del tipo ctb_consulta_cuenta con dos argumentos.
#-
#- a = ctb_consulta_cuenta(self.cnx, self.cod_empresa)
#-
#- pero el constructor de la clase está definido de la siguiente manera:
#-
#- def __init__(self, c=None),
#-
#- es aquí donde quedo enredado, ya que self siempre debe ir como
#- argumento de la función cuando se define, si es asi solamente podría
#- ocupar la variable c, para almacenar algun resultado cuando el objeto
#- es construido. NO ENTIENDO!! el constructor entonces debería tener
#- tres argumentos y no dos, además busque en el codigo y la clase tiene
#- un sólo constructor, alguien me podría ayudar o decir donde quedá
#- almacenado el self.cod_empresa cuando se construye el objeto.
Cuando llamas a métodos de la clase/objeto, el self es puesto
automáticamente por Python:
>>> class C:
def __init__(self, a):
self.a = a
def setA(self, a):
self.a = a
>>> c = C(5)
>>> c.a
5
>>> c.setA(2)
>>> c.a
2
Distinto es cuando llamas al método de la clase para aplicarlo sobre un
objeto:
>>> C.setA(c, 1)
>>> c.a
1
De tu ejemplo, lo que no entiendo es la discrepancia entre cantidad de
argumentos que hay (más allá del self).
¿Estás 100% seguro que ctb_consulta_cuenta es una clase? ¿Podrías pasar el
código de la misma?
. Facundo
Bitácora De Vuelo: http://www.taniquetil.com.ar/plog
PyAr - Python Argentina: http://pyar.decode.com.ar/
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
ADVERTENCIA.
La información contenida en este mensaje y cualquier archivo anexo al mismo,
son para uso exclusivo del destinatario y pueden contener información
confidencial o propietaria, cuya divulgación es sancionada por la ley.
Si Ud. No es uno de los destinatarios consignados o la persona responsable
de hacer llegar este mensaje a los destinatarios consignados, no está
autorizado a divulgar, copiar, distribuir o retener información (o parte de
ella) contenida en este mensaje. Por favor notifíquenos respondiendo al
remitente, borre el mensaje original y borre las copias (impresas o grabadas
en cualquier medio magnético) que pueda haber realizado del mismo.
Todas las opiniones contenidas en este mail son propias del autor del
mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones
Personales S.A. o alguna empresa asociada.
Los mensajes electrónicos pueden ser alterados, motivo por el cual
Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación
cualquiera sea el resultante de este mensaje.
Muchas Gracias.
Más información sobre la lista de distribución Python-es