Uso molto il parser del tipo dococessing Pycharm per specificare i tipi di parametri e restituzioni dei metodi, gli attributi o la variabile di istanza. Se funziona quasi tutto il tempo, ho un piccolo problema di raccontare PyCharm sto dando una funzione o una classe come parametro/attributo/...Come specificare la classe o il tipo di funzione in docstring per parser PyCharm
Ecco un breve esempio:
class Bar:
def __init__(self, bar):
"""
:type bar: str
"""
print bar
class Foo:
"""
:type my_class: Bar.__class__
"""
def __init__(self, cinstance=Bar):
"""
:type cinstance: Bar.__class__
"""
self.my_class = cinstance
def run(self):
# it should print an unexpected type warning, but it doesn't.
self.my_class(2)
Se Ho appena inserito Bar
invece di Bar.__class__
, ovviamente PyCharm mi ha detto che non è possibile chiamare Bar
. Quindi, come dirgli che gli sto dando la lezione?
Si noti che con il decoratore @classmethod
, PyCharm non ha alcun problema a capire che stiamo parlando della classe e non dell'istanza.
Qui sono i miei tentativi:
Un biglietto JetBrain è aperto: https://intellij-support.jetbrains.com/hc/en-us/requests/66648 – FunkySayu