通往AI之路:Python机器学习入门-面向对象编程
- IT业界
- 2025-09-18 12:42:01

1.3 面向对象编程(OOP)
面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它通过“类”和“对象”来组织代码,使程序更加模块化、可扩展和可维护。Python 是一种面向对象的编程语言,本章将介绍 Python 中的面向对象编程基础。
1.3.1 类和对象
在 Python 中,一切皆对象。对象是某个类的具体实例,而类是创建对象的模板。
1. 定义类和创建对象 # 定义一个类 class Person: def __init__(self, name, age): self.name = name # 实例变量 self.age = age # 实例变量 def introduce(self): print(f"我是 {self.name},今年 {self.age} 岁。") # 创建对象 p1 = Person("Alice", 25) p2 = Person("Bob", 30) # 调用方法 p1.introduce() # 输出: 我是 Alice,今年 25 岁。 p2.introduce() # 输出: 我是 Bob,今年 30 岁。在上述代码中:
class Person: 定义了一个 Person 类。__init__ 方法是构造方法(初始化方法),在创建对象时自动执行。self 代表实例对象,它用于访问实例变量和方法。1.3.2 继承与多态 1. 继承(Inheritance)
继承是一种面向对象的特性,允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码复用。
# 定义父类 class Animal: def __init__(self, name): self.name = name def make_sound(self): print("动物在发出声音") # 定义子类,继承 Animal class Dog(Animal): def make_sound(self): print(f"{self.name} 汪汪叫") # 定义另一个子类 class Cat(Animal): def make_sound(self): print(f"{self.name} 喵喵叫") # 创建实例 dog = Dog("旺财") cat = Cat("小黑") # 调用方法 dog.make_sound() # 输出: 旺财 汪汪叫 cat.make_sound() # 输出: 小黑 喵喵叫在上述代码中:
Dog 和 Cat 继承 Animal,但重写了 make_sound() 方法。这样,子类可以拥有父类的特性,同时可以自定义自己的行为。 2. 多态(Polymorphism)多态是指同一方法在不同类的对象上表现出不同的行为。
def animal_sound(animal): animal.make_sound() animals = [Dog("旺财"), Cat("小黑")] for animal in animals: animal_sound(animal)输出:
旺财 汪汪叫 小黑 喵喵叫在这里,animal_sound(animal) 能够接受不同的 Animal 子类对象,并调用它们的 make_sound() 方法。这种方式使代码更加灵活。
1.3.3 魔法方法(Magic Methods)
Python 提供了一些特殊的方法(又称魔法方法),以 __(双下划线)开头和结尾。这些方法可以让类对象实现特定的行为。
1. __init__ 方法(构造方法)__init__ 是对象初始化时自动调用的方法。
class Person: def __init__(self, name, age): self.name = name self.age = age p = Person("Alice", 25) print(p.name) # 输出: Alice 2. __str__ 方法(字符串表示)__str__ 方法用于定义对象的字符串表示,print 对象时会调用它。
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"姓名: {self.name}, 年龄: {self.age}" p = Person("Alice", 25) print(p) # 输出: 姓名: Alice, 年龄: 25 3. __call__ 方法(使对象变成可调用)__call__ 方法允许对象像函数一样被调用。
class Counter: def __init__(self): self.count = 0 def __call__(self): self.count += 1 print(f"当前计数: {self.count}") counter = Counter() counter() # 输出: 当前计数: 1 counter() # 输出: 当前计数: 2在这里,Counter 类的实例 counter 变成了一个可调用对象,像函数一样使用 counter()。
1.3.4 总结
本章介绍了 Python 的面向对象编程,包括:
类和对象:通过 class 关键字定义类,并使用 self 访问实例变量和方法。继承与多态:子类可以继承父类,并通过方法重写实现多态。魔法方法: __init__ 用于初始化对象;__str__ 定义对象的字符串表示;__call__ 使对象变得可调用。面向对象编程使代码更结构化、易维护,掌握这些概念将为后续的机器学习编程打下坚实的基础。💡
通往AI之路:Python机器学习入门-面向对象编程由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“通往AI之路:Python机器学习入门-面向对象编程”
下一篇
进程间通信(IPC)与匿名管道