Python 基础入门 Day06

Python 基础入门 Day06

欢迎来到 Python 基础入门 Day06!在前几天的学习中,我们已经掌握了 Python 的基本语法、数据结构、函数、模块、文件操作与异常处理。如果你还没有学习之前的内容,可以点击以下链接进行复习:

今天,我们将学习 面向对象编程(OOP) 的核心概念。面向对象编程是 Python 编程的一个重要特性,可以帮助我们构建更模块化、可维护的程序。

目录

  1. 面向对象编程简介
  2. 类与对象
  3. 属性与方法
  4. 构造方法与析构方法
  5. 类的继承与多态
  6. 小结与练习

一、面向对象编程简介

面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,通过将程序分解为对象的集合来组织代码。每个对象都包含数据(属性)和行为(方法)。OOP 的核心概念包括 对象继承封装多态

1.1 面向对象编程的优点

  • 提高代码重用性:通过类和继承机制实现代码复用
  • 提高代码可读性:通过对象模型使程序更具结构化
  • 便于维护和扩展:降低代码耦合度

二、类与对象

2.1 定义类

在 Python 中,类是通过 class 关键字定义的,语法如下:

class 类名: # 类的属性和方法

2.2 创建对象

对象是类的实例化,通过调用类来创建对象:

# 定义一个简单的类 class Dog: def bark(self): print("汪汪!") # 创建对象 my_dog = Dog() my_dog.bark() # 输出:汪汪!


三、属性与方法

3.1 属性(变量)

属性是类中的数据成员,用于存储对象的状态:

class Person: def __init__(self, name, age): self.name = name self.age = age # 创建对象并访问属性 person = Person("Alice", 25) print(person.name) # 输出:Alice print(person.age) # 输出:25

3.2 方法(函数)

方法是类中的函数,用于定义对象的行为:

class Circle: def __init__(self, radius): self.radius = radius def area(self): return 3.14 * self.radius ** 2 circle = Circle(5) print(circle.area()) # 输出:78.5


四、构造方法与析构方法

4.1 构造方法 __init__()

构造方法在对象创建时自动调用,用于初始化对象的属性:

class Car: def __init__(self, brand): self.brand = brand my_car = Car("Tesla") print(my_car.brand) # 输出:Tesla

4.2 析构方法 __del__()

析构方法在对象被销毁时自动调用:

class Sample: def __del__(self): print("对象被销毁") obj = Sample() del obj # 输出:对象被销毁


五、类的继承与多态

5.1 类的继承

继承是面向对象编程中的重要特性,可以让一个类继承另一个类的属性和方法:

# 父类 class Animal: def eat(self): print("吃东西") # 子类 class Dog(Animal): def bark(self): print("汪汪!") dog = Dog() dog.eat() # 输出:吃东西 dog.bark() # 输出:汪汪!

5.2 方法重写

子类可以重写父类的方法:

class Bird(Animal): def eat(self): print("吃虫子") bird = Bird() bird.eat() # 输出:吃虫子

5.3 多态

多态是指在不同的类中实现相同的方法名,具体执行时根据对象类型调用相应的方法:

class Cat(Animal): def sound(self): print("喵喵!") class Dog(Animal): def sound(self): print("汪汪!") def make_sound(animal): animal.sound() make_sound(Cat()) # 输出:喵喵! make_sound(Dog()) # 输出:汪汪!


六、小结与练习

今天我们学习了 面向对象编程 的核心概念,包括 类与对象属性与方法构造方法与析构方法继承与多态。这些知识将帮助你编写更加模块化和可扩展的 Python 程序。

今日练习题:

  1. 定义一个 Student 类,包含属性 namegrade,并定义一个方法 display() 显示学生信息。
  2. 创建一个 BankAccount 类,包含 balance 属性,提供 deposit()withdraw() 方法操作余额。
  3. 定义一个父类 Shape,包含方法 area(),再创建子类 RectangleCircle,分别实现 area() 方法。

下一节预告:在 Day07 中,我们将学习 Python 的常用内置模块正则表达式,敬请期待!


1 Comment

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注