无法从函数Python调用函数

时间:2016-07-22 19:03:26

标签: python python-3.x pycharm

我来自Java和C#背景和学习python。我想知道为什么这段代码在pycharm中给我一个错误,说

    Unresolved Reference 'methodA'

使用此代码

    def a():
        print("hi")

    def b():
        a()

1 个答案:

答案 0 :(得分:3)

此代码(您发布的整个代码)应该可以正常运行,因为名称a已被引入全局范围:

def a():
    print("hi")

def b():
    a()

b()  # call b, which in turn calls a

但是这段代码(您可能引用的代码)应该失败,因为名称aC的成员。成员名称不在其他成员函数的范围内:

class C:
    def a():
        print("hi")

    def b():
        a()
o = C()
o.b()  # should fail for several reasons.

另请注意,与C ++或Java的隐式this指针不同,必须始终显式使用self引用。试试这个:

class C:
    def a(self):
        print("hi")

    def b(self):
        self.a()

o = C()
o.b()  # calls C.b(o), which in turn calls C.a(o)