Python - NameError POO

   
Vista:
Imágen de perfil de NovatoTmc

NameError POO

Publicado por NovatoTmc (2 intervenciones) el 19/09/2014 16:56:28
Hola Saludos a la comuinidad soy nuevo y tengo un problema(cabe destacar que soy un novato en la programacion)

el problema es el siguiente:

creo una clase cualquiera y cuando trato de importarla para darle uso me sale un error de :
NameError 'nombre ' is not defined

ejemplo:

mi archivo lo llamo perros.py y el codigo es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
!#/usr/ bin/env python
#  -*- coding: latin-1 -*-
 
class Perro(object):
    def __init__(self, nombre='*', raza='*', edad=0):
        self.nombre=nombre
        self.raza=raza
        self.edad=edad
 
    def __str__(self):
        return self.nombre + ' de raza ' + self.raza + str(self.edad) + ' años '

suponiendo que este es el codigo(claro que se puede mejorar con validaciones, guardianes y otras carcteristicas ) el problema ocurre cuando lo guardo y luego lo importo, cuando por ejemplo

1
2
3
4
5
6
>>> import perros
>>> p=Perro('coby','cocker',30)  #luego pulso enter me aparece el error
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    Perro('coby','cocker',30)
NameError: name 'Perro' is not defined

pobre instanciando la clase asi perro=Perro() y el errro aparece igual
tambien coloque class Perro:
pass

y el error sigue no entiendo, porque cuando lo hago desde el interprete no me da errores pero cuando lo guardo y lo importo desde el interprete e intento ejecutarlo de esa forma me parece ese error, espero me puedan ayudar

PD: todos los programas que hago orientado a objetos y trato de importarlos me dan ese error pero si los hago desde el interprete no me dan el error, espero puedan ayudarme


Saludos y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

NameError POO

Publicado por Agustin agustinbarruti@gmail.com (21 intervenciones) el 19/09/2014 18:21:57
Puedes probar con este codigo, en el interprete:
1
2
3
4
5
6
7
8
9
10
11
class Perro():
    def __init__(self, nombre, raza, edad):
        self.nombre=nombre
        self.raza=raza
        self.edad=edad
 
    def __str__(self):
        return self.nombre + ' de raza ' + self.raza + str(self.edad) + ' anios '
 
perro=Perro("coby", "cocker", 30)
print perro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de NovatoTmc

NameError POO

Publicado por NovatoTmc (2 intervenciones) el 19/09/2014 19:19:31
Ya lo probe y el erro es el mismo:

NmeError name 'Perro' is not defined

el problema es claro que el interprete no reconoce la clase o nose porque no logra definirla

igual gracias por tu ayuda, a alguien mas le pasara eso?

claro que si meto en el codigo :

perro=Perro("coby", "cocker", 30)
print perro

y luego lo guardo si se ejecuta

lo que nose es si los objetos en python deben ser interactivos es decir crear raw_inputo para la introduccion de datos y asi el progrmaa se ejecute de manera secuencia y pueda arrojar resueltado, agradeceria su ayuda por favor, Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar