Python魔法方法的应用通常涉及到类的继承和重写。以下是一个简单的例子:
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"Hello, my name is {self.name}")
class Student(Person):
def __init__(self, name, age):
super().__init__(name) # 调用父类初始化方法
self.age = age
def say_hello(self):
print(f"Hello, my name is {self.name}, I am {self.age} years old")
student = Student("Tom", 18)
student.say_hello() # 输出 "Hello, my name is Tom, I am 18 years old"
在这个例子中,Student
类继承了Person
类,并重写了say_hello
方法。在Student
类的__init__
方法中,我们使用super().__init__(name)
来调用父类的初始化方法,以便正确地设置name
属性。然后,我们在子类中定义了一个新的属性age
,并在say_hello
方法中使用它。最后,我们创建了一个Student
对象,并调用了它的say_hello
方法,输出了正确的信息。