首页 > 解决方案 > 如何从父类获取方法值?运行此代码时出现错误

问题描述

class V_Tangensial():
    pi = 3.14

    def __init__(self, n=1480, db=220):
        self.n = n
        self.db = db

    def v_tangensial(self):
        v = (self.pi * self.n * self.db) / 60000
        self.v += v
        print(f"Kecepatan Tangensial = {v}")

class Kd(V_Tangensial):

    def __init__(self, yh=1, yg=1.5, ys=0.9, ko=0.33, yv=0, kd=0):
        v = super(Kd, self).v_tangensial(self)

    def Nilai_KD(self):
        yv = 0.7 + (0.6/(1+(8/v)**2))

标签: python

解决方案


你错过了super().__init__电话。一旦你这样做,v_tangensial它将是Kd实例,即self

class V_Tangensial():
    pi = 3.14

    def __init__(self, n=1480, db=220):
        self.n = n
        self.db = db
        self.v = 0

    def v_tangensial(self):
        v = (self.pi * self.n * self.db) / 60000
        self.v += v
        print(f"Kecepatan Tangensial = {v}")


class Kd(V_Tangensial):

    def __init__(self, yh=1, yg=1.5, ys=0.9, ko=0.33, yv=0, kd=0):
        super().__init__(kd)
        self.v_tangensial()

    def Nilai_KD(self):
        yv = 0.7 + (0.6/(1+(8/self.v)**2))

推荐阅读