python2类型注释让变量(特别是函数参数)有代码补全/自动提示

最近因为工作需要要用到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/
python2类型注释让变量(特别是函数参数)有代码补全/自动提示_第1张图片
因为如果使用vsIntelli插件会强制使用Microsoft自动补全而不是JEDI自动补全,Microsoft自动补全只支持上面的变量类型注释,不支持参数类型注释,当然,如果是Microsoft有其他的注释规范也可以评论告知我一哈(或者日后更新了也支持上述注释规范了也劳烦评论告知我一哈,vsintelli插件的推测提示偶尔还是挺好用的)

你可能感兴趣的:(python)