[Python-es] Duda en un un objeto...

kmilo kmilo en softhome.net
Sab Jul 20 17:59:51 CEST 2002


>     def extraccion(self, monto):
>        if self.saldo >= monto:
>           self.saldo = self.saldo - monto
>        else:
>           raise SaldoError % self.saldo      # Esta linea no entiendo....

se levanta una excepcion ( SaldoError % self.saldo ), y debido a que nadie la maneja esta imprime ( SaldoError % self.saldo )  y acaba el programa

Leete el Python Tutorial de Guido van Rossum en la cap 8 hay hablan de:
8. Errors and Exceptions 

en http://python.freezope.org debe haber un link a le version en español

> note que se creo un archivo llamado "ctabanco.pyc" ¿que es? pues que yo sepa python es un lengua interpretado no compilado. ¿o no?

Pues python si es imnterpretado, lo que pasa es que cuando se ejecuta un modulo se crea una version compilada a bytecode la cual corre mas rapido

Quepa decir que el bitecode necesita del interprete para correr, es como los .class del java pero no hay por que  estar mandandolo a hacer,
asi que no te preocupes por el.

Como siempre Python resulta mas facil. 


> y Saludos a todos los "Pythorianos" :-)
Python - VIctoriano?

PDT:
Gracias Tomás Javier por el buen trabajo que has hecho en http://python.freezope.org

On Sat, 20 Jul 2002 08:10:32 -0400
"Jaime Arias" <jaimearias en terra.cl> wrote:

> Estoy estudiando la Prg. Orientada a Objeto en Python y tengo unas dudas sobre el presente codigo.
> del siguiente ejemplo entiendo todo salvo una linea.
> 
> el siguiente codigo lo deje como un archivo llamado ctabanco.py.
> 
> ============================file ctabanco.py======================================
> SaldoError = "Lo siento, solo tiene $%6.2f en su cuenta"
> 
> class CuentaBancaria:
>     def __init__(self, montoInicial):
>        self.saldo = montoInicial
>        print "Cuenta creada con un saldo de $%5.2f" % self.saldo
> 
>     def deposito(self, monto):
>        self.saldo = self.saldo + monto
> 
>     def extraccion(self, monto):
>        if self.saldo >= monto:
>           self.saldo = self.saldo - monto
>        else:
>           raise SaldoError % self.saldo      # Esta linea no entiendo....
> 
> 
>     def checkSaldo(self):
>        return self.saldo
>        
>     def transferencia(self, monto, cuenta):
>        try: 
>           self.extraccion(monto)
>           cuenta.deposito(monto)
>        except SaldoError:
>           print SaldoError
> 
> class CuentaInteres(CuentaBancaria):
>    def deposito(self, monto):
>        CuentaBancaria.deposito(self, monto)
>        self.saldo = self.saldo * 1.03
> 
> class CuentaRecargo(CuentaBancaria):
>     def __init__(self, montoInicial):
>         CuentaBancaria.__init__(self, montoInicial)
>         self.recargo = 3
>         
>     def extraccion(self, monto):
>         CuentaBancaria.extraccion(self, monto+self.recargo)
> ============================fin  ctabanco.py =====================================
> 
> al llamar al interprete python y quedar con el "prompt"  hago lo siguiente:
> 
> C:\>Python
> >>> from ctabanco import *
> >>> a = CuentaBancaria(500)
> Cuenta creada con un saldo de $500.00
> >>> a.extraccion(600)
> Traceback (most recent call last):
>     File "<stdin>", line 1, in ?
>     File "ctabanco.py", line 15, in extraccion
>             raise SaldoError % self.saldo
> Lo siento, solo tiene $500.00 en su cuenta.
> >>>
> 
> ¿Como soluciono ese problema?  (justo es la linea que no comprendo)
> 
> note que se creo un archivo llamado "ctabanco.pyc" ¿que es? pues que yo sepa python es un lengua interpretado no compilado. ¿o no?
> 
> Muchas Gracias 
> y Saludos a todos los "Pythorianos" :-)
> 
> 


-- 
Software Propietario:
Software en el cual sus dueños prohiben y previenen la cooperacion entre usuarios.
http://www.gnu.org/gnu/gnu-history.es.html

Orgulloso Estudiante de 1º semestre de Ingenieria de Sistemas
Universidad Distrital Francisco Jose de Caldas
Bogota Colombia
Linux user number 269263
Homepage: http://kmiloweb.netfirms.com/


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