python - 如何使用正确的自动补全功能编辑 Python 脚本?

标签 python autocomplete pycharm

我第一次尝试编辑 python 脚本,这让我发疯:( 。

我有一些包含 *.py 文件的目录,我将其作为解释器路径添加到 PyCharm 中,以实现正确的自动完成。

所以,我有一些课

class Sim():
     def __init__(self, *args, **kwargs):
        self._sim_info = None

我是 Java 和 C++ 程序员,我习惯对类型变量进行类化。

我知道,在脚本中此变量将具有 SimInfo 类型的值。

但是,当 PyCharm 的索引器索引 *.py 文件时,他知道 Sim.sim_info var 的值为 None。但如何在代码中指定

s1=Sim()
i=s1.sim_info

变量i具有类SimInfo的类型?

也许我应该使用“编辑器点击”之类的东西来强制自动完成i.is_ghost

例如代码

from simulation.sims.sim import Sim
from simulation.sims.sim_info import SimInfo
from simulation.sims.pregnancy.pregnancy_tracker import PregnancyOffspringData

s1=Sim()
i=s1.sim_info
i.is_ghos

其中 i.is_ghos 必须自动完成为 i.is_ghost()

在这种情况下如何指定变量类型(可能通过编辑器提示之类的方式)?

非常感谢!

最佳答案

Python 3.6:

class Sim():
     def __init__(self, *args, **kwargs):
        self._sim_info: SimInfo = None

其他Python:

class Sim():
     def __init__(self, *args, **kwargs):
        self._sim_info = None  # type: SimInfo

它名为“type hints

关于python - 如何使用正确的自动补全功能编辑 Python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41433993/

相关文章:

python - 用于括号补全的 Pycharm 快捷方式

python - 如何让 PyC​​harm 在安装库时忽略 SSL 错误?

phpstorm - 如何在同一项目上使用多个 JetBrains IDE,而在它们之间切换时不会出现烦人的弹出窗口?

python - 如何在 python 中打印弃用警告消息的调用方法名称和行号?

codeigniter - Sublime Text 2 自动完成代码点火器项目

sql - Rails SQL 查询列在哪里?

ruby-on-rails - 使 rails 3 jquery 自动完成整数列工作

python - Pyspark 2.1.0 SQLcontext show() 方法在表后打印奇怪的 None

python - 如何将图像转换为数值数组(numpy)?

python - 为什么结果打印 b'hello,Python!' ,当我使用tensorflow?