Python面向对象编程:十大陷阱实例
在Python的面向对象编程(OOP)中,新手可能会陷入一些常见的陷阱。以下是我为你准备的一些实例:
混淆属性和方法:
class Dog:
def __init__(self, name):
self.name = name
# 这是方法!
name_of_dog = self.name
my_dog = Dog('Rex')
print(my_dog.name_of_dog) # 这会报错,因为`name_of_dog`是一个方法
忘记初始化:
class Person:
def introduce(self):
print(f"My name is {self.name}}")
person = Person()
person.introduce() # 这里会抛异常,因为`person`没有被初始化
过于依赖继承:
class Animal:
def speak(self):
return "Animal speaks"
class Dog(Animal): # 这里可能误用继承
def bark(self):
return "Dog barks"
my_dog = Dog()
print(my_dog.speak()) # 会报错,因为`speak`是父类的方法,子类没有这个方法
print(my_dog.bark()) # 正常工作,因为`bark`是子类独有的方法
希望这些实例能帮助你理解Python OOP中的陷阱。
还没有评论,来说两句吧...