Diciamo che ho:Nota di tipo docstring Python - una classe, non un'istanza?
class A(object):
pass
class B(A):
pass
Voglio dichiarare una funzione che prende una sottoclasse di A come argomento:
def do_something(klass):
"""
:type klass: WHAT_HERE
"""
pass
Cosa devo mettere in WHAT_HERE? Se faccio questo:
:type klass: A
PyCharm pensa che dovrei dare un'istanza di A come argomento, non la classe stessa.
Sfortunatamente questo causa problemi di inferenza di tipo in PyCharm per chiamare i metodi di classe disponibili su A. Puoi chiamare 'klass().klassmethod() ', ma questo istanzia la classe, che potrebbe non essere desiderabile. Grazie per il suggerimento però, '() -> A' aiuta almeno un po '. – Malina