无法在类python中调用成员函数

时间:2015-12-08 10:35:07

标签: python

我在python 2.7上并尝试从另一个位于同一个类中的函数调用成员函数。

class Foo:

     def bar(self):
         print 'correctly called'

     def baz(self):
         self.bar


a = Foo()
a.baz()

我经历了this问题,并按上述方式编写了一个示例类,但仍然无法打印位于函数"correctly called"中的bar。这可能听起来很小的菜鸟,但我认为这是调用会员功能的唯一方法,或者我做错了什么?

我想要什么

我只想从同一个类中的另一个成员函数bar调用位于baz函数中的print语句。

2 个答案:

答案 0 :(得分:2)

要调用函数,请使用括号:

class Foo:
     def bar(self):
         print('correctly called')

     def baz(self):
         self.bar() # <-- ()

当您编写self.bar时,这是一个评估函数对象的表达式。如果要将函数对象传递给map等,这非常有用。

答案 1 :(得分:1)

使用()

调用方法
self.bar()

self.bar是对此对象的访问权限。需要括号来实际调用它。