【发布时间】:2017-05-20 03:28:28
【问题描述】:
有没有办法通过变量名定义类型提示?
例子:
每当我在我的代码中命名一个变量 response 时,我希望它有一个指向 django.http.HttpResponse 的类型提示。
我的用例是 PyCharm 等 IDE 的类型提示。到目前为止,我还没有在运行时对此进行评估的用例。
我想要一个通用的(而不是特定于 pycharm 的)解决方案。
我想避免一遍又一遍地进行手动和显式类型提示。
请告诉我你为什么不赞成这个问题。我很好奇并愿意学习。
【问题讨论】:
-
@MooingRawr 我在发布之前阅读了您提供的链接。我不明白这对我有什么帮助。我不想一次又一次地做明确的类型提示。
-
我不认为将变量名称隐式链接到类型是一个好习惯。每当你定义它时,使用注释来定义它的类型以使其明确,而不是在可见代码之外的某个地方定义它
-
@Alex 我尽量避免使用过时的 cmets。这个评论是什么意思?它告诉我这个叫做“响应”的东西是......惊喜,惊喜......它告诉我这是一个响应。是的,好消息!我喜欢“干净代码”和“干净编码器”作者的指导方针:informit.com/articles/article.aspx?p=1326509
-
@guetti 并不是每个使用你的代码的人都会使用 pycharm,如果事实上修复它的正确方法是在 django 源代码中添加类型,所以每当你调用任何 HttpResponse 返回函数 pycharm将了解它并帮助您使用它。所以你可以通过为 django 做贡献来帮助每个人。
-
使用PEP-526,您可以每次都明确指定变量的类型。不过,这需要 3.6 Python 版本。
标签: python type-hinting