调用静态方法时出现未绑定的方法错误

时间:2012-08-08 08:08:05

标签: function static-methods python-2.4

我有一个包含两个方法的类,一个是静态的,另一个是静态的:

class Person(object):
    def getDetails(self):
        Person.change_something(self.name)

    @staticmethod
    def change_something(name):
        return name.upper()

当我创建Person类的实例并调用person.getDetails()时,我收到的错误是unbound method change_something() must be called with Person instance as first argument (got str instance instead)。谁能指出我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

staticmethod是一个描述符。描述符仅适用于新式类。

class Person(object):