擅长:python、mysql、java
<p>由于Python是一种动态类型语言,您需要确保它能够计算出什么类型的东西,并正确地检查系统上的库。试着确定你的代码中对象是什么类型。</p>
<p>PyCharm 2.7的一个好方法是启用运行时类型检测——PyCharm在程序运行时(在调试时)钩住程序,并在使用时检查变量的类型。</p>
<p>您可以通过转到设置、转到“构建、执行、部署”部分,然后转到“Python调试器”部分并启用“收集代码洞察的运行时类型信息”来启用此功能。</p>
<p><img src="https://i.stack.imgur.com/H0NDp.png" alt="The settings screen of PyCharm open to show the relevant setting."/></p>
<p>显然,值得注意的是,这并不完美—如果您进行了更改,则在执行代码之前不会更新此项,并且它只能告诉您它看到的值—您没有尝试过的其他代码路径可以设置其他类型。</p>
<p>您还可以使用Epydoc或Sphinx样式的docstrings“告诉”PyCharm,这些docstrings包含有关参数和返回值类型的信息。PyCharm将使用这些来改进它的检查。</p>
<p>从Python 3开始,Python还获得了对函数注释的支持。根据<a href="https://www.python.org/dev/peps/pep-0484/" rel="nofollow noreferrer">PEP 484</a>,这些可以用于类型提示。有关更多信息,请参见<a href="https://docs.python.org/3/library/typing.html" rel="nofollow noreferrer">^{<cd1>}</a>模块。这是更正式的,因此它也可以用于类似<a href="http://mypy-lang.org/" rel="nofollow noreferrer">^{<cd2>}</a>的工具,类型检查器可以通过编程检查这些类型的一致性,从而为Python提供TypeScript样式的可选静态类型。</p>