Python运行出来没有结果,但是显示了进程已结束,退出代码为0

初学者,跟着视频教学,但是发现运行不出来,代码如下:

class Shape:
def init(self,name,area,perimeter):
self.name = name
self.area = 0.0
self.perimeter = 0.0

def calArea(self):
    return self.area

def calPerimeter(self):
    return self.perimeter

def display(self):
    print("name = ", self.name)
    print("area = ", self.area)
    print("perimeter = ", self.perimeter)

class Rectangle(Shape):
def init(self, name, width, height):
Shape.init(self, name)
self.width = width
self.height = height
self.area = self.calArea()
self.perimeter = self.calPerimeter()

def calArea(self):
    return self.width * self.height

def calPerimeter(self):
    return (self.width + self.height) * 2

def display(self):
    print("name = ", self.name)
    print("area = ", self.area)
    print("perimeter = ", self.perimeter)

class Triangle(Shape):
def init(self, name, a, b, c, height):
Shape.init(self, name)
self.a = a
self.b = b
self.c = c
self.height = height
self.area = self.calArea()
self.perimeter = self.calPerimeter()

def calArea(self):
    return self.a * self.height / 2

def calPerimeter(self):
    return self.a + self.b + self.c

def display(self):
    print("name = ", self.name)
    print("area = ", self.area)
    print("perimeter = ", self.perimeter)

class Circle(Shape):
def init(self, name, r):
Shape.init(self, name)
self.r = r
self.area = self.calArea()
self.perimeter = self.calPerimeter()

def calArea(self):
    return self.r * self.r * 3.14

def calPerimeter(self):
    return 2 * 3.14 * self.r

def display(self):
    print("name = ", self.name)
    print("area = ", self.area)
    print("perimeter = ", self.perimeter)

举个例子,望采纳!谢谢

class Shape:
    def __init__(self,name,area,perimeter):
        self.name = name
        self.area = 0.0
        self.perimeter = 0.0

    def calArea(self):
        return self.area
    
    def calPerimeter(self):
        return self.perimeter
    
    def display(self):
        print("name = ", self.name)
        print("area = ", self.area)
        print("perimeter = ", self.perimeter)
class Rectangle(Shape):
    def __init__(self, name, width, height):
        Shape.init(self, name)
        self.width = width
        self.height = height
        self.area = self.calArea()
        self.perimeter = self.calPerimeter()

    def calArea(self):
        return self.width * self.height
    
    def calPerimeter(self):
        return (self.width + self.height) * 2
    
    def display(self):
        print("name = ", self.name)
        print("area = ", self.area)
        print("perimeter = ", self.perimeter)
class Triangle(Shape):
    def __init__(self, name, a, b, c, height):
        Shape.init(self, name)
        self.a = a
        self.b = b
        self.c = c
        self.height = height
        self.area = self.calArea()
        self.perimeter = self.calPerimeter()

    def calArea(self):
        return self.a * self.height / 2
    
    def calPerimeter(self):
        return self.a + self.b + self.c
    
    def display(self):
        print("name = ", self.name)
        print("area = ", self.area)
        print("perimeter = ", self.perimeter)
class Circle(Shape):
    def __init__(self, name, r):
        Shape.init(self, name)
        self.r = r
        self.area = self.calArea()
        self.perimeter = self.calPerimeter()

    def calArea(self):
        return self.r * self.r * 3.14
    
    def calPerimeter(self):
        return 2 * 3.14 * self.r
    
    def display(self):
        print("name = ", self.name)
        print("area = ", self.area)
        print("perimeter = ", self.perimeter)
sha = Shape('cir', 2.0, 2.0)
sha.display()



语法上没问题, 可能你只定义了class, 没有实例化, 也没有调用, 当然就不会有输出

写完了函数你还需要去调用