我是面向对象的世界的新手,尝试在python中遵循以下代码并从另一个类调用一个类的函数。
Mycode.py
class A:
def funcA():
return "sometext"
def funcB(self):
self.funcA() # calls func A internally from funcB
secondcode.py
from Mycode import A
class B:
def funcC(self):
A.funcB(self) # it gives error for call funcA() as it is unknown to class B
if __name__ == '__main__':
b=B()
b.funcC()
AttributeError:“ B”对象没有属性“ funcA”对于python中的类,作用域如何起作用?
答案 0 :(得分:0)
问题不是范围,但您对self
有误解。
class B:
def func C(self):
A.funcB(self)
在上面的代码中,self
是B
而不是A
的实例。但是A.funcB
应该接受A
的实例。或self.funcA
中的A.funcB
不可用。