Python中,函数的参数没有类型,但是有的函数的参数类型明明已经确定(比如Django中的view函数)。
在这种情况下,IDE无法根据参数类型自动补全;有没有办法让IDE知道参数的类型?比如通过注释来说明参数类型等。
另外,函数的返回值类型有没有办法这样处理呢。
注:我的IDE是PyCharm;不过也欢迎其他IDE的解决方案。
Python中,函数的参数没有类型,但是有的函数的参数类型明明已经确定(比如Django中的view函数)。
在这种情况下,IDE无法根据参数类型自动补全;有没有办法让IDE知道参数的类型?比如通过注释来说明参数类型等。
另外,函数的返回值类型有没有办法这样处理呢。
注:我的IDE是PyCharm;不过也欢迎其他IDE的解决方案。
利用docstring
Type Hinting in PyCharm
http://www.jetbrains.com/pycharm/webhelp/type-hinting-in-pycharm.html
简而言之:没办法。因为任何人个别定义的说明,没有理由成为通行标准。你看IE/网景斗争时代很多浏览器定义的标签现在都死翘翘了。
也许识别成型的流行程序(及其版本),进而调取该程序的文档是一种可行的思路。
不要用其他语言的思维去用python, 想对python的函数参数做自动补全根本不需要专门类型检查.
如果确定这个参数只可能用作一种类型, 你可以用参数注释; 如果参数准备接受不同类型的, 就先判断下参数是不是某个类的实例, 然后直接通过类的方法中传入实例来实现, 这样自然就有代码补全了.
>>> class A:
def afunc(me):
print('via A')
>>> def f(arg):
A.afunc(arg)
>>> f(A())
via A
1 回答10.1k 阅读✓ 已解决
4 回答4k 阅读✓ 已解决
2 回答4k 阅读✓ 已解决
4 回答3.5k 阅读✓ 已解决
3 回答4.7k 阅读
3 回答1.8k 阅读✓ 已解决
1 回答4.3k 阅读✓ 已解决
可以使用 Function Annotations 来标识一下。