现在Python 2/3
对于局部作用域变量和函数参数 PyDev 有这样的:
assert isinstance(obj, MyClass)
obj. # here hint will work
虽然我猜这是一个没有记录的功能。这是 PyDev 的类型提示的官方页面 http://pydev.org/manual_adv_type_hints.html以及一些说明 Sphinx 语法的摘录。
class Example:
def param(self, a):
''':type a: MyClass'''
def var(self, iterable):
for a in iterable: #: :type a: AnotherClass
pass
不幸的是,这两种方法都不适用于班级成员。
因为,PyDev 4 还有一些类似于 PEP-484 的东西(见下文)。
class LatestExample:
def listcase(self, param):
''':type param: list[str]'''
def dictcase(self, param):
':type param: dict[str, MyClass]'
未来的Python 3
看看@slushy 的回答。毫无疑问,这就是未来。但暂时 PyDev 不支持函数注释,PEP-3107 https://www.python.org/dev/peps/pep-3107/,也不是新的PEP-484 https://www.python.org/dev/peps/pep-0484/@slushy 演示的东西。 PEP-484 将以某种有限的形式出现在 Python 3.5 中,并最终出现在 3.6 中。这是 BDFLPyCon 2015 演示 https://youtu.be/2wDvzy6Hgxg用于类型提示和 PEP-484。