Python 基础入门 Day06

99次阅读
一条评论

共计 2026 个字符,预计需要花费 6 分钟才能阅读完成。

欢迎来到 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 的常用内置模块 正则表达式,敬请期待!


正文完
 0
评论(一条评论)