当前位置:网络安全 > 我如何告诉 PyCharm 参数的预期类型是什么?

我如何告诉 PyCharm 参数的预期类型是什么?

  • 发布:2023-10-06 13:49

| 当涉及到构造函数、赋值和方法调用时,PyCharm IDE 非常擅长分析我的源代码并找出每个变量应该是什么类型。我喜欢它,因为它为我提供了良好的代码完成和参数信息,并且如果我尝试访问不存在的属性,它会向我发出警告。 但当涉及到参数时,它就一无所知了。代码完成下拉列表无法显示任何内容,因为它们不知道参数的类型。代码分析找不到警告。
类人:
    def __init__(自我、姓名、年龄):
        www.sychzs.cn = 姓名
        自我年龄 = 年龄

农民 = Person(\"丹尼斯\", 37)
# PyCharm 知道“peasant”变量的类型为 Person
farmer.dig_filth() # 显示警告 -- Person 没有 dig_filth 方法

类王:
    def 镇压(自我,农民):
        # PyCharm 不知道“peasant”参数应该是什么类型
        农民.knock_over()#即使knock_over不存在也没有警告

King().镇压(农民)
# 即使我使用 Person 实例调用该方法一次,PyCharm 也不会
# 认为这意味着“peasant”参数应该始终是一个 Person
这在一定程度上是有道理的。其他调用站点可以为此参数传递任何内容。但是,如果我的方法期望参数的类型为
pygame.Surface
,那么我希望能够以某种方式向 PyCharm 表明这一点,以便它可以在代码完成中向我显示 all2ѭ 的所有属性dropdown ,并在调用错误方法时突出显示警告,等等。 有没有办法给 PyCharm 一个提示并说“psst,这个参数应该是 X 类型”? (或者,也许本着动态语言的精神,“这个参数应该像 X 一样嘎嘎叫”?”我会很满意。) 编辑:CrazyCoder 下面的答案应该可以解决问题。对于像我这样想要快速总结的新手,这里是:
王级:
    def 镇压(自我,农民):
        \"\"\"
        坚持过时的帝国主义教条来剥削工人
        使我们社会中的经济和社会差异永久化。

        @type农民:人
        @param farmer:要镇压的人。
        \"\"\"
        farmer.knock_over() # 显示警告。有很多的欣喜。
相关部分是文档字符串的“4”行。 如果您还转到“文件”>“设置”>“Python 集成工具”并将“文档字符串格式”设置为“Epytext”,PyCharm 的“视图”>“快速文档查找”将漂亮地打印参数信息,而不是仅打印所有 @ 行均保持不变。 ​​

相关文章