【发布时间】:2016-03-17 18:49:20
【问题描述】:
我想为动态生成的对象属性添加 Python 3.5 类型提示,以便 IDE 正确地自动完成它们。这里的“动态”是指该属性在类创建期间或__init__ 或任何其他方法中不存在。
例如有没有办法通过 cmets 或其他技巧添加这些?如果没有,我可以回退以添加虚拟类属性。
示例::
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)
我们的目标是完成这项工作,以便 PyCharm 和其他 IDE 完成此属性。
【问题讨论】:
-
我怀疑除了在为您添加方法的库中之外的任何地方都需要付出很多努力。如果它添加了带有正确类型注释的方法,它应该可以工作。也许您应该在 Pyramid 上提交功能请求错误?
标签: python pycharm python-3.5