类方法不能在同一个类中调用其他类方法

时间:2014-09-16 14:07:25

标签: python class python-2.7

我有一个用两种方法定义的类:

class A:
    def called():
        print 'called'
    def caller(self):
        called()

但是来电者不能直接使用被叫

A().caller()

给出错误

NameError: global name 'called' is not defined

如何在同一个类中调用另一个无界方法?

1 个答案:

答案 0 :(得分:4)

使用self或类名A确认方法。

class A:

    @staticmethod
    def called():
        print 'called'

    def caller(self):
        self.called()
        # Or
        A.called()

注意我将方法called更改为静态方法。