Profilo di h

Nome h
Indirizzo email n/a
Messaggi20
  • [Risolto] Impostare classe figlia
    Forum >> Principianti
    Salve a tutti ho una domanda sul ruolo di super nella dichiarazione di una classe figlia. Mi spiego meglio, la classe madre:
    class Neuron(object):
        
        """docstring for Neuron"""
        def __init__(self, dim, ID):
            self.ID=ID
            self.dim=dim
            self.pos=[rnd.random_sample() for i in range(self.dim)]
            self.label=0
    

    la classe figlia:

    class nearestClassNeuron(Neuron):
        """docstring for nearestClssNeuron"""
        def __init__(self, dim, ID, label):
            self.ID=ID
            self.dim=dim
            self.label=label
    

    Prima di tutto vorrei chiedere io devo costruire questa classe figlia a partire dalla classe madre, vorrei quindi costruirla in modo diverso da quello che ho fatto (ma non so come!!!), vorrei che la classe nearestClassNeuron ereditasse da Neuron, oltre che i metodi anche gli attributi "dim" e "ID", come si può fare?

    La seconda domanda è il ruolo di "super": a cosa serve costruire la classe figlia così aggiungendo la riga:

    class nearestClassNeuron(Neuron):
        """docstring for nearestClssNeuron"""
        def __init__(self, dim, ID, label):
            self.ID=ID
            self.dim=dim
            self.label=label
            super(nearestClassNeuron, self).__init__(self, dim, ID)
    voglio sottolineare che costruito così mi da un errore:


    TypeError: __init__() takes exactly 3 arguments (4 given)
    mi interesserebbe, più che risolvere l'errore, capire il ruolo e il vantaggio di super usato nella costruzione della classe figlia (a quel punto penso risolverei anche l'errore).

    Grazie a tutti.




    --- Ultima modifica di h in data 2016-01-09 23:45:58 ---
  • Re: Sul funzionamento di sort()
    Forum >> Principianti
    Ho risolto...
    >>> a=[2,4,5,1]
    >>> b=a[:]
    >>> b
    [2, 4, 5, 1]
    >>> b.sort()
    >>> b
    [1, 2, 4, 5]
    >>> a
    [2, 4, 5, 1]
    un saluto a tutti...
  • [Risolto] Sul funzionamento di sort()
    Forum >> Principianti
    Salve a tutti,
    vorrei capire il corretto funzionamento di sort(), in particolare vorrei capire perchè succede questo:

    >>> a=[2,4,5,1]
    >>> a
    [2, 4, 5, 1]
    >>> b=a
    >>> b
    [2, 4, 5, 1]
    >>> b.sort()
    >>> b
    [1, 2, 4, 5]
    >>> a
    [1, 2, 4, 5]
    

    Perchè nel momento in cui applico sort() alla lista "b" copiata a partire da "a", sort() modifica anche la lista "a"?




    --- Ultima modifica di h in data 2015-12-03 12:58:20 ---
  • Re: Dubbi su classi e oggetti
    Forum >> Principianti
    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.


  • [Risolto] Dubbi su classi e oggetti
    Forum >> Principianti
    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 ---
  • un consiglio su come acquisire dati da file .lrn
    Forum >> Principianti
    Salve a tutti,
    devo acquisire dati contenuti in un file .lrn. tali dati sono organizzati in questo modo:

    % 400
    % 3
    % 9 1 1
    % Key C1 C2
    1 3.277701E+000 8.140820E-001
    2 3.875770E-001 1.767800E-001
    3 2.685460E-001 5.829630E-001
    ....
    Il mio problema è quindi acquisire dati a partire dalla quarta riga. Avevo pensato a qualcosa del genere:
    def read(fileName):
        fo=open("/home/h/Documenti/Thesis/FCPS/01FCPSdata/%s.lrn"%(fileName,))
        fo.seek(4,1)
        f = [i.split() for i in fo.readlines()]  
    ma parte sempre dalla prima riga. Consigli??

    Grazie a tutti.




    Ho risolto banalmente cancellando i primi quattro valori:

    del f[0:4]
    tutta via se ci fosse un modo per acquisire direttamente dalla quarta sarebbe preferibile.





    --- Ultima modifica di h in data 2015-12-01 12:55:52 ---
  • Re: Manipolare dati da file, da stringhe a float
    Forum >> Principianti
    Grazie della rapida risposta, solo un chiarimento: nel codice sono visualizzati dei punti interrogativi vicino a "f" tra gli zeri, per cosa stanno?
  • Manipolare dati da file, da stringhe a float
    Forum >> Principianti
    Salve a tutti, ho il seguente problema: ho un file.dat contente delle osservazioni organizzate in questo modo:

    2015-06-05T22:45:29.8 -1.5004 .02847384765008059110

    2015-06-05T22:48:14.8 -1.5315 .02895876378576958522

    2015-06-05T22:52:48.5 -1.5154 .03136000637755037192


    ...

    la prima colonna contiene la data, vorrei organizzare una matrice digitale che abbia come seconda e terza colonna elementi identici (float), mentre vorrei che la prima colonna vorrei iniziasse con 0 e contenesse le differenze rispetto allo zero. In poche parole vorrei trasformare la stringa in float e quindi fare una operazione di differenza. il risultato dovrebbe avere questo aspetto:

    0.000 -1.5004 .02847384765008059110

    235.0 -1.5315 .02895876378576958522

    ...

    dove 235 sono i secondi trascorsi tra il secondo e il primo. Suggerimenti su come procedere??
  • settare il label di un oggetto: libreria Phoebe
    Forum >> Principianti
    Salve a tutti, avviso che sto lavorando con la libreria di python Phoebe. Poiché inesperto stavo semplicemente seguendo una guida :
    http://www.phoebe-project.org/docs/future/testsuite.simple_binary02.html

    per il fit di un sistema binario.

    Adesso il codice completo postato su pastebin: http://pastebin.com/aeTsCJnU

    Adesso il primo errore, relativo alla riga: 23:


    >>> input_lc.get_parameter('pblum').set_adjust(True)

    Traceback (most recent call last):

    File "<stdin>", line 1, in <module>

    AttributeError: 'NoneType' object has no attribute 'set_adjust'


    un altro errore mi viene segnalato alla riga 39:


    >>> star1 = phoebe.BinaryRocheStar(comp1, mesh=mesh, pbdep=[lcdep,rvdep])

    Traceback (most recent call last):

    File "<stdin>", line 1, in <module>

    File "/usr/local/lib/python2.7/dist-packages/phoebe/backend/universe.py", line 7975, in __init__

    orbit['c2label']))

    ValueError: Cannot figure out which component this is: the label in 'component' is '2cf23e7e-ce67-4652-9e8f-5f50ecd57d08', but 'orbit' mentions '2f704024-9f3f-4ca9-9f92-d51e96eb9e50' as the primary, and '960f37a0-fc84-4870-b6d9-d6b443553844' as the secondary. Please set 'c1label' or 'c2label' in 'orbit' to match this component's label.


    è sopratutto quest'ultimo che vorrei risolvere.

    grazie a tutti.
  • Re: Gestire libreria Phoebe
    Forum >> Principianti
    ok ho risolta era banale.... come tutti gli errori dei "principianti"... bastava dare il percorso assoluto.