【问题标题】:Static method seems to be getting passed 'self'nonetheless尽管如此,静态方法似乎正在通过“自我”
【发布时间】:2014-12-20 05:27:58
【问题描述】:

我已经定义了一个带有静态方法的类。但是当我调用它时,它会产生一个错误,说当只需要一个参数时正在传递两个参数。我在其他类中定义了其他静态方法,并以相同的方式调用它们,它们运行良好。明天或许可以发源代码,不过目前只能用手机上网,没有源代码。

是否有一些常见错误会产生我所看到的那种情况?

【问题讨论】:

  • 语言是什么?无论如何,如果你没有源代码,你应该等到你发了,否则你的问题可能会被关闭。
  • 抱歉,我是在口述我的问题:“我必须找到”应该是“我已经定义”
  • 对不起,蟒蛇。我现在正在尝试在无法访问 Internet 的计算机上解决此问题,并尝试查看是否存在导致此类事情的常见原因。真心希望此时能贴出源代码,但是有代码的电脑此时无法上网。

标签: python static-methods


【解决方案1】:

你确定你调用的方法是

ClassName.Method();

而不是

ClassInstance.Method();

?

【讨论】:

  • 是的,编码橙色,我调用它的方式与调用所有其他静态类实例的方式相同。在这种情况下,self.props = pa.PropArgs.get_props(prog_nm) 其中 pa 是一个包,PropArgs 是该包中的一个类
  • link 看来您的定义可能不太正确。这是一个相当讨厌的语法。而且你确定你使用的是和以前一样的python版本?
  • 是的,很明显我做错了什么。但是所有这些代码都在 Python 3.4 中运行。我的其他类方法定义在 3.4 中工作正常。所以我要问的是,有没有其他人遇到过这种类型的错误,我做错了什么解决的问题?
  • 我将手动输入方法定义:
  • @classmethod (nl) def get_props(prog_nm): 一些代码
猜你喜欢
  • 2022-01-23
  • 1970-01-01
  • 2015-02-10
  • 2015-07-27
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
相关资源
最近更新 更多