Mi piacerebbe aggiungere suggerimenti di tipo Python 3.5 per gli attributi di oggetti generati dinamicamente, in modo che gli IDE li completino automaticamente. Qui con "dinamico" intendo che l'attributo non è presente durante la creazione della classe o in __init__
o in qualsiasi altro metodo.Attributi di istanza generati dinamicamente da Python 3.5
E.g. c'è un modo per aggiungere questi attraverso commenti o altri trucchi? In caso contrario, posso eseguire il fallback per aggiungere attributi di classe fittizi.
Esempio ::
class Request:
"""Example HTTP request object.
We have `get_user()` but we do not declare it anyhere.
"""
...
# Pyramid's way of plugging in methods and properties to request, enabled addon capabilities for the framework
# adds Request.user - done in different part of application lifecycle, not during class creation
config.add_request_method(auth.get_user, 'user', reify=True)
L'obiettivo è di fare questo lavoro in modo che PyCharm e altri IDE sarebbero completare questo attributo.
Sospetto che ciò richiederà un grande sforzo per rendere questo lavoro ovunque ma nella libreria che aggiunge i metodi per voi. Se aggiunge metodi con annotazioni di tipo corrette, dovrebbe funzionare. Forse dovresti presentare un bug di richiesta di funzionalità su Pyramid? – Blckknght