[Python] A proposito di PyCharm, qualcuno di voi sa come si fa a...?

Cesco dev a cesco.it
Lun 28 Mar 2011 16:09:27 CEST


La domanda è semplice ma dovete scusarmi se parto da un lungo preambolo. Mettiamo caso che io abbia una classe e una funzione che accetta per parametro un'istanza di questa classe. Ad esempio:

class Persona(object):
    """ Questa classe definisce una persona """
    
    def __init__(self, P_cCognome = "", P_cNome = ""):
        self.nome = P_cNome
        self.cognome = P_cCognome


def saluta(P_objPersona):
    """ Questa funzione saluta una persona """
    
    print("Ciao")
    

paperino = Persona("Paolino", "Paperino")
saluta(paperino)

>>> Ciao

Ecco. Adesso io voglio usare le proprietà della classe per salutare Paperino, quindi dentro alla funzione al posto di:

print("Ciao")

Scrivo:

print("Ciao {0} !".format(P_objPersona.nome))

>>> Ciao Paperino !

Tutto semplice. Qual'è il mio problema allora? Se non ricordo le proprietà ed i metodi della classe Persona, come faccio a chiedere a PyCharm di elencarmeli? Praticamente vorrei scrivere nel codice la parola "P_objPersona", premere il tasto punto e vedere una finestra pop-up che mi elenca proprietà e metodi della classe Persona.

Sulla trial di WingIDE scrivevo la funzione così:

def saluta(P_objPersona):
	isinstance(P_objPersona, Persona)
	...

Ed automaticamente WingIDE capiva che quando scrivevo P_objPersona mi riferivo ad un'istanza della classe Persona, ma su PyCharm ci ho provato e non funziona. Su PyCharm (ed in altri IDE) come si fa a farlo? :-/


Grazie e cordiali saluti


Maggiori informazioni sulla lista Python