我有一个包含两个方法的类,一个是静态的,另一个是静态的:
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)
。谁能指出我在这里做错了什么?
答案 0 :(得分:3)
staticmethod
是一个描述符。描述符仅适用于新式类。
class Person(object):