0基础学python-14:python进阶之面向对象

前言

        Python是一门解释型、面向对象以及动态数据类型的高级程序设计语言,今天所要说的就是极为重要的概念,面向对象。

 

一、面向对象的核心概念:

1.类(Class)

  • 类是对象的抽象描述,是面向对象编程的基本概念。类定义了对象的属性(称为属性或数据成员)和方法(称为方法或行为)。

 

2.对象(Object):

  • 对象是类的实例。通过实例化类,我们可以创建具体的对象,每个对象都有自己的属性和方法。

 

 3.属性和方法

  • 属性:类的属性是指与类或对象相关联的数据。在 Python 中,属性是通过在 __init__ 方法中使用 self 来定义的实例变量。
  • 方法:类中的方法是指定义在类中的函数,可以通过类的对象来调用,方法可以访问对象的属性。

 

4.封装、继承和多态

  • 封装:封装是指将数据和方法绑定在一起,可以通过类的接口来访问和操作数据。
  • 继承:继承是指一个类可以从另一个类继承属性和方法,子类可以重用父类的代码并扩展或修改其行为。
  • 多态:多态允许不同类的对象对同一方法作出响应,提高了代码的灵活性和可重用性。

 

 

二、类,对象,属性和方法

1.类的定义格式

        类是对象的抽象描述

 代码实例:可与上图对照着看。

class Car:
    def __init__(self, make, model, year):
        self.make = make        # 制造商
        self.model = model      # 型号
        self.year = year        # 出厂年份
        self.odometer = 0      # 里程表读数,默认为0

    def display_info(self):
        print(f"Car: {self.year} {self.make} {self.model}")

    def read_odometer(self):
        print(f"This car has {self.odometer} miles on it.")

    def update_odometer(self, mileage):
        if mileage >= self.odometer:
            self.odometer = mileage
        else:
            print("You can't roll back an odometer!")

    def increment_odometer(self, miles):
        self.odometer += miles

 

2.如何使用这个 Car 类

        对象是类的实例

# 创建一个 Car 对象
my_car = Car("Toyota", "Corolla", 2022)

# 使用对象的方法
my_car.display_info()   # 输出:Car: 2022 Toyota Corolla
my_car.update_odometer(10000)
my_car.read_odometer()  # 输出:This car has 10000 miles on it.

# 增加里程
my_car.increment_odometer(500)
my_car.read_odometer()  # 输出:This car has 10500 miles on it.

输出:

Car: 2022 Toyota Corolla
This car has 10000 miles on it.
This car has 10500 miles on it.

 

 3.这个Car类的属性

        属性的调用:对象名.属性名

def __init__(self, make, model, year):
        self.make = make        # 制造商
        self.model = model      # 型号
        self.year = year        # 出厂年份
        self.odometer = 0      # 里程表读数,默认为0

"""
属性:
    - make (str): 汽车的制造商或品牌,例如 "Toyota"、"Honda" 等。
    - model (str): 汽车的具体型号,例如 "Corolla"、"Civic" 等。
    - year (int): 汽车的出厂年份,例如 2022、2023 等。
    - odometer (int): 汽车的里程表读数,初始值为 0。
"""

 

4.这个Car类的方法

        方法的调用:对象名.方法名()

def display_info(self):
    print(f"Car: {self.year} {self.make} {self.model}")

def read_odometer(self):
    print(f"This car has {self.odometer} miles on it.")

def update_odometer(self, mileage):
    if mileage >= self.odometer:
        self.odometer = mileage
    else:
        print("You can't roll back an odometer!")

def increment_odometer(self, miles):
    self.odometer += miles

"""
方法:
    - __init__(self, make, model, year):
        构造方法,初始化汽车的制造商、型号、年份和里程表读数。

    - display_info(self):
        打印汽车的制造商、型号和年份信息。

    - read_odometer(self):
        打印当前汽车的里程表读数。

    - update_odometer(self, mileage):
        更新汽车的里程表读数。如果提供的 mileage 大于或等于当前里程表读数,则更新里程表;否则打印一条提示信息。

    - increment_odometer(self, miles):
        增加汽车的里程表读数,将当前里程表读数增加指定的英里数 (miles)。
"""

相关推荐

  1. 基础Python面向对象

    2024-07-17 04:50:07       43 阅读
  2. Python(三)】——面向对象编程

    2024-07-17 04:50:07       49 阅读
  3. python高级(三)[面向对象]

    2024-07-17 04:50:07       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 04:50:07       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 04:50:07       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 04:50:07       57 阅读
  4. Python语言-面向对象

    2024-07-17 04:50:07       68 阅读

热门阅读

  1. git config

    2024-07-17 04:50:07       27 阅读
  2. K8S组件calico重建过程

    2024-07-17 04:50:07       18 阅读
  3. 基于单片机的远程烟雾报警系统的硬件电路设计

    2024-07-17 04:50:07       24 阅读
  4. JDK、JRE、JVM

    2024-07-17 04:50:07       22 阅读
  5. hung 之 hung task 检测

    2024-07-17 04:50:07       19 阅读
  6. jdk21 future 异步线程 等待

    2024-07-17 04:50:07       21 阅读
  7. ubuntu使用vcan做本地测试

    2024-07-17 04:50:07       24 阅读