最近因为工作需要要用到python2,有个很蛋疼的地方
def fun(x):
x.??? #can't hint or check
因为python是动态类型,所以这个地方函数传进来一个x,不知道是什么类型的话,就没有代码补全/自动提示
我去搜索如何才能有代码补全/自动提示,基本都是说python3的type hint(类型提示/类型注解),要是能上python3的话我也想上python3啊
如果你是python3的话,直接参考这篇就好了
python TypeHint, 类型提示
python2相关的确实少的可怜,一番搜索以后发现原来要用规范注释
Type hinting in PyCharm
这样只要规范注释就能有代码补全/自动提示了
class C:
foo= None # type:int
def test(self,h,z):
# type:(str,object) -> object
'''
测试说明
'''
pass
上面分别为变量的类型注释和参数的类型注释,请注意函数的注释格式一定要和上面一样,参数列表要对应上,如果不想指定类型就指定为object,->后面的为返回值类型
当然,虽然是PyCharm的注释规范,但是实际上VSCode中也能使用,我也是用VSCode,如果用VSCode的话,不要使用Visual Studio IntelliCode插件,然后在Python扩展里勾上JEDI自动补全
其他规范参考https://www.python.org/dev/peps/pep-0484/
因为如果使用vsIntelli插件会强制使用Microsoft自动补全而不是JEDI自动补全,Microsoft自动补全只支持上面的变量类型注释,不支持参数类型注释,当然,如果是Microsoft有其他的注释规范也可以评论告知我一哈(或者日后更新了也支持上述注释规范了也劳烦评论告知我一哈,vsintelli插件的推测提示偶尔还是挺好用的)