【发布时间】:2012-08-08 08:08:05
【问题描述】:
我有一个类,里面有两个方法,一个是静态的,另一个是非静态的:
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)。谁能指出我在这里做错了什么?
【问题讨论】:
-
这不是一个完整的、可测试的示例(缺少冒号)。请发布您的真实代码,但尝试将其简化为重现问题的最简单形式(例如:此处的 self.name 可以替换为:“test”)。我们需要一个可以复制粘贴的代码,包括对象创建和调用,一切。
标签: python function static-methods python-2.4