当前位置:   article > 正文

python类中调用未定义的函数_python找不到定义的子函数

python找不到定义的子函数

代码中遇到类似于下面的情况,A是一个基类,在类A中的函数b中,调用了未定义的函数self.funcK()。在A的继承类B中新建了这个函数。
在新建类A的实例的时候,代码不会报错。原因是,新建实例的时候,调用的是__init__(),不会检测函数b()中是否存在语法错误。
不建议这种做法。就算self.K()在基类中没有作用, 也需要取定义一下,然后在继承类中重新定义,否则给代码阅读带来一定的障碍

class A:
    def __init__(self):
        self.p = 1
    def funcA(self,param):
        c = self.funcK(param) ## 未在基类中定义
        return c
class B(A):
    def __init__(self):
        super().__init__()
    def funcK(self,param):  ## 在子类中定义
        return param
        
a = A()
b = B()
res = b.funcA(3)  ### 
print(res) ## 输出:3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/904093
推荐阅读
相关标签
  

闽ICP备14008679号