探索【Python面向对象】编程:新时代的高级编程范式详解

2024-07-21 1313阅读

目录

1. 面向对象编程概念(OOP)

1.1 什么是类和对象?

1.2 类的定义

1.3 类和对象的关系

1.4 小李的理解

2. 抽象

2.1 抽象的概念

2.2 抽象类和方法

2.3 小李的理解

3. 类和实例

3.1 类的定义和实例化

3.2 类的属性和方法

3.3 小李的理解

4. 封装/接口

4.1 封装的概念

4.2 接口的概念

4.3 小李的理解

5. 继承

5.1 继承的概念

5.2 方法重写

5.3 小李的理解

6. 多态

6.1 多态的概念

6.2 实现多态

6.3 小李的理解

7. 自省/反射

7.1 自省的概念

7.2 使用自省进行动态操作

7.3 小李的理解

8. 静态方法和类方法

8.1 静态方法

8.2 类方法

总结


探索【Python面向对象】编程:新时代的高级编程范式详解

探索【Python面向对象】编程:新时代的高级编程范式详解

专栏:python学习笔记 

上一卷:Python模块化与包管理

1. 面向对象编程概念(OOP)

面向对象编程(OOP) 是一种编程范式,通过将程序组织成对象的集合来实现。对象不仅包含数据,还包含操作这些数据的方法。OOP的核心概念包括类、对象、属性和方法。

探索【Python面向对象】编程:新时代的高级编程范式详解

1.1 什么是类和对象?

  • 类(Class) 是一个模板或蓝图,用来创建对象。类定义了对象的属性和行为。
  • 对象(Object) 是类的实例。创建对象就是根据类创建一个具体的实例。

    例子:

    class Dog:
        # 类的初始化方法
        def __init__(self, name, age):
            self.name = name  # 属性
            self.age = age    # 属性
        # 方法
        def bark(self):
            return f"{self.name} says Woof!"
    # 创建对象
    my_dog = Dog("Rex", 5)
    print(my_dog.bark())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    1.2 类的定义

    在Python中,类通过 class 关键字定义。类中的函数称为方法,变量称为属性。类的方法通常以 self 作为第一个参数,表示实例本身。

    例子:

    class Cat:
        def __init__(self, name):
            self.name = name
        def meow(self):
            return f"{self.name} says Meow!"
    # 创建对象
    my_cat = Cat("Whiskers")
    print(my_cat.meow())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    1.3 类和对象的关系

    类是对象的模板,定义了对象的结构和行为。而对象是类的实例,每个对象都有独立的属性和方法。

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age
        def greet(self):
            return f"Hello, my name is {self.name} and I am {self.age} years old."
    # 创建多个对象
    person1 = Person("Alice", 30)
    person2 = Person("Bob", 25)
    print(person1.greet())
    print(person2.greet())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    1.4 小李的理解

    类就像是制作饼干的模具,它定义了饼干的形状和尺寸。而对象就像是用模具做出的具体饼干,每块饼干可以有不同的口味(属性),但它们的形状和尺寸(结构和行为)都是相同的。

    探索【Python面向对象】编程:新时代的高级编程范式详解

    2. 抽象

    抽象 是指对现实世界的复杂问题进行简化,通过抓住主要特征而忽略细节。在编程中,抽象帮助我们创建更加简洁和易维护的代码。

    2.1 抽象的概念

    抽象就是提取对象的主要特征,而忽略不重要的细节。通过抽象,我们可以专注于对象的核心功能,而不被次要特征所干扰。

    例子:

    class Animal:
        def __init__(self, name):
            self.name = name
        def make_sound(self):
            pass  # 抽象方法,不具体实现
    class Dog(Animal):
        def make_sound(self):
            return "Woof!"
    class Cat(Animal):
        def make_sound(self):
            return "Meow!"
    # 创建对象
    dog = Dog("Rex")
    cat = Cat("Whiskers")
    print(dog.make_sound())
    print(cat.make_sound())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    2.2 抽象类和方法

    在Python中,我们可以通过定义抽象类和抽象方法来实现抽象。抽象类不能被实例化,只能被继承。抽象方法在抽象类中定义,但在子类中实现。

    例子:

    from abc import ABC, abstractmethod
    class Vehicle(ABC):
        @abstractmethod
        def start_engine(self):
            pass
    class Car(Vehicle):
        def start_engine(self):
            return "Car engine started"
    class Motorcycle(Vehicle):
        def start_engine(self):
            return "Motorcycle engine started"
    # 创建对象
    car = Car()
    motorcycle = Motorcycle()
    print(car.start_engine())
    print(motorcycle.start_engine())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    2.3 小李的理解

    抽象就像是把一幅复杂的画简化为几何图形。比如,一只具体的猫有很多特征(毛色、大小、年龄等),但我们只关注它会喵喵叫的特点,这就是对猫进行的抽象。

    3. 类和实例

    类和实例 是OOP的基础。类是模板,实例是具体对象。实例通过类创建,具有类定义的属性和方法。

    探索【Python面向对象】编程:新时代的高级编程范式详解

    3.1 类的定义和实例化

    定义类并创建实例是OOP的基本操作。类定义了属性和方法,而实例则是类的具体对象。

    例子:

    class Student:
        def __init__(self, name, grade):
            self.name = name
            self.grade = grade
        def introduce(self):
            return f"Hi, I am {self.name} and I am in grade {self.grade}."
    # 创建实例
    student1 = Student("Alice", 10)
    student2 = Student("Bob", 12)
    print(student1.introduce())
    print(student2.introduce())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    3.2 类的属性和方法

    类的属性是对象的状态,方法是对象的行为。类的属性通过 __init__ 方法初始化,方法在类中定义。

    例子:

    class Book:
        def __init__(self, title, author):
            self.title = title
            self.author = author
        def get_info(self):
            return f"'{self.title}' by {self.author}"
    # 创建实例
    book = Book("1984", "George Orwell")
    print(book.get_info())
    

    探索【Python面向对象】编程:新时代的高级编程范式详解

    3.3 小李的理解

    类和实例就像是房子的图纸和实际的房子。图纸(类)定义了房子的结构和功能,而实际的房子(实例)则是根据图纸建造的具体对象。

    探索【Python面向对象】编程:新时代的高级编程范式详解

    4. 封装/接口

    封装 是将对象的状态(属性)和行为(方法)隐藏在类内部,通过接口(方法)与外界交互。封装提高了代码的安全性和可维护性。

    探索【Python面向对象】编程:新时代的高级编程范式详解

    4.1 封装的概念

    封装是OOP的核心概念之一,它通过隐藏对象的内部状态,只暴露必要的接口,来保护对象的数据。这样,外部代码不能直接访问或修改对象的内部状态,只能通过对象提供的方法来操作数据。

    例子:

    class Account:
        def __init__(self, owner, balance=0):
            self.owner = owner
            self.__balance = balance  # 私有属性
        def deposit(self, amount):
            if amount > 0:
                self.__balance += amount
            else:
                raise ValueError("Deposit amount must be positive")
        def withdraw(self, amount):
            if 0 
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]