当我使用像boto这样的第三方库时,PyCharm似乎能够很好地自动完成

然而,一旦我定义了我自己的函数,自动补全就会在该函数中崩溃。我理解其中的原因,因为我不能给函数提供任何关于其参数的类型信息,所以它不能猜测如何自动完成。有没有办法绕过这个问题?
编辑
我尝试使用文档字符串(对于Python 2),但仍然没有自动完成
def delete_oldest_backups(conn, backups_to_keep, backup_description):
"""
delete_oldest_backups(EC2Connection, int, string)
"""(也尝试了boto.ec2.connection.EC2Connection,而不仅仅是EC2Connection)
发布于 2013-07-23 17:56:13
您可以使用类型提示:http://www.jetbrains.com/pycharm/webhelp/type-hinting-in-pycharm.html
def some_method(self, conn):
"""
@type conn: EC2Connection
"""
conn.<autocomplete>发布于 2011-03-15 20:17:06
您可以使用Python 3参数和返回值注释指定有关函数参数的类型信息。如果您使用的是Python 2,还可以在函数的docstring中指定信息。PyCharm理解标准库中二进制模块的文档字符串所使用的格式,例如:
"""
foo(int, string) -> list
Returns the list of something
"""发布于 2012-02-10 18:02:51
为了让PyCharm识别一个对象的实例并检索它的所有方法,我们必须使用以下语句。但我认为这两者都是浪费编程和运行时间的可怕方式。
assert isinstance(instanceX, ClassOfInstanceX)
instanceX.{#list of method/properties appears}或者,您也可以使用类名来调用方法或属性,每次您想调用它并将实例传递给self参数时。但这对我来说太冗长了,尤其是对于嵌套类
ClassOfInstanceX.{#list of method/properties appears}
# then you will have...
ClassOfInstance.method(instanceX, args...)https://stackoverflow.com/questions/5309279
复制相似问题