Forum >> Principianti >> [Risolto] Dubbi su classi e oggetti

Pagina: 1

Salve a tutti,
sto cercando di creare un oggetto, premetto la mia inesperienza con la programmazione ad oggetti con python, per il momento ho scritto il seguente:

import numpy as np
import matplotlib.pyplot as plt

class NeuralGas():

    def __init__(self, nodesNum=10, epsilon_i=0.3, epsilon_f=0.05, lambda_i=30., lambda_f=0.01):
        self.nodesNum=nodesNum
        self.epsilon_i = epsilon_i
        self.epsilon_f = epsilon_f
        self.lambda_i = lambda_i
        self.lambda_f = lambda_f
    def readFileInput(self,fileName): 
        import readlrn as lrn
        I=lrn.read("%s")%(fileName) 
        return I
quando vado nella shell:

>>> import NeuralGas as NG
>>> ng=NG
>>> ng.readFileInput("Lsun")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'readFileInput'

non capisco perchè mi dice che non c'è attributo "readFileInput". Inoltre non dovrebbe identificarlo come metodo, invece di attributo?

Grazie a tutti.



Signori chiedo scusa se insisto ma non ci sto più a capire niente. Qualche tempo fa avevo copiato questo codice da una guida, era funzionante ma adesso non più:

class Carta:

    ListaSemi=["Fiori","Quadri","Cuori","Picche"]
    ListaRanghi=["impossibile","Asso","2","3","4","5","6",\
                "7","8","9","10","Jack","Regina","Re"]

    def __init__(self, Seme=0, Rango=0):
        self.Seme=Seme
        self.Rango=Rango 

    def __str__(self):
        return (self.ListaRanghi[self.Rango] + " di " + self.ListaSemi[self.Seme])

    def __cmp__(self, Altro):
        #controlla il seme
        if self.Seme > Altro.Seme: return 1
        if self.Seme < Altro.Seme: return -1
        
        #se i semi sono uguali controlla il rango
        if self.Rango > Altro.Rango: return 1
        if self.Rango < Altro.Rango: return -1

        return 0

Se dal terminale:

>>> import Carta
>>> Carta1=Carta(1,11)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable

Qualcosa mi sfugge...











--- Ultima modifica di h in data 2015-12-01 17:01:11 ---

--- Ultima modifica di h in data 2015-12-02 17:59:29 ---
Ok ho risolto da solo...
>>> from Carta import Carta
>>> Carta1=Carta(1,11)
>>> print Carta1
Jack di Quadri

In pratica cerco di chiamare il modulo invece della classe all'interno di esso...

comunque grazie a tutti.


In pratica cerco di chiamare il modulo invece della classe all'interno di esso...
Bravo, avrei potuto anche scrivertelo, ma pensa che soddisfazione ad arrivarci da solo. :ok:

Cya


Pagina: 1



Esegui il login per scrivere una risposta.