Python 基础 (八)Python的类与对象

本文详细介绍了Python中的类与对象概念,包括类的定义、self的作用、继承、super函数、类变量与实例变量、方法重写以及构造函数的使用。通过实例演示了如何创建类、定义属性和方法,以及如何利用继承和super进行代码复用。
摘要由CSDN通过智能技术生成

Python基础文章系列

Python 基础 (一)Python基本认识与环境搭建 Python 基础 (一)Python基本认识与环境搭建
Python 基础 (二)Python变量与基本数据类型 Python 基础 (二)Python变量与基本数据类型
Python 基础 (三)Python基本语句与基本运算 Python 基础 (三)Python基本语句与基本运算
Python 基础 (四)Python函数 Python 基础 (四)Python函数
Python 基础 (五)Python包与模块 Python 基础 (五)Python包与模块
Python 基础 (六)Python的文件模块 Python 基础 (六)Python的文件模块
Python 基础 (七)Python的异常处理机制 Python 基础 (七)Python的异常处理机制
Python 基础 (八)Python的类与对象 Python 基础 (八)Python的类与对象
Python 基础 (九)Python的内置模块 Python 基础 (九)Python的内置模块
Python 基础 (十)Python实现简单的图书管理系统 Python 基础 (十)Python实现简单的图书管理系统

在这里插入图片描述

4.8 类与对象

4.8.1 面向对象

Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。

  • **类(Class): **用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • **方法:**类中定义的函数。
  • **类变量:**类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • **数据成员:**类变量或者实例变量用于处理类及其实例对象的相关的数据。
  • **方法重写:**如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • **局部变量:**定义在方法中的变量,只作用于当前实例的类。
  • **实例变量:**在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用 self 修饰的变量。
  • **继承:**即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • **实例化:**创建一个类的实例,类的具体对象。
  • **对象:**通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

4.8.2 类定义

类(Class)是面向对象编程中的重要概念,它用于定义对象的模板,描述了对象的属性和方法。在Python中,类的定义通常遵循以下结构:

class ClassName:
    # 类的属性
    class_variable = value
    
    # 构造函数,初始化对象的属性
    def __init__(self, parameter1, parameter2, ...):
        self.instance_variable1 = parameter1
        self.instance_variable2 = parameter2
        # 更多初始化操作
    
    # 类的方法
    def method1(self, arg1, arg2, ...):
        # 方法的实现
        # 可以访问实例变量和类变量
        # 可以执行各种操作
    
    def method2(self, arg1, arg2, ...):
        # 另一个方法的实现
        # 可以访问实例变量和类变量
        # 可以执行不同的操作

让我解释一下上述代码的各个部分:

  • class ClassName::这是类的定义语句,用于创建一个名为ClassName的类。
  • class_variable = value:这是类变量(或静态变量),它在类的所有实例之间共享。您可以在类中定义各种属性,它们对于该类的所有对象都是相同的。
  • def __init__(self, parameter1, parameter2, ...)::这是构造函数,用于初始化对象的属性。构造函数会在创建对象时自动调用,通常用于将传递给类的参数分配给对象的实例变量。
  • self.instance_variable1 = parameter1:在构造函数中,使用self来引用对象本身,然后将参数值分配给对象的实例变量。这些实例变量将在整个对象的生命周期内存储数据。
  • def method1(self, arg1, arg2, ...)::这是类的方法,用于定义对象可以执行的操作。方法通常以self作为第一个参数,以便可以访问实例变量和其他方法。方法可以执行各种操作,包括修改实例变量、调用其他方法等。

通过定义类和类的方法,您可以创建类的实例并使用它们来执行特定的任务。例如:

# 创建类的实例
obj = ClassName(parameter1_value, parameter2_value)

# 调用对象的方法
obj.method1(arg1_value, arg2_value)
obj.method2(arg1_value, arg2_value)
# ---encoding:utf-8---
# @Time    : 2023/9/3 13:30
# @Author  : Darwin_Bossen
# @Email   :3139066125@qq.com
# @Site    :  类定义
# @File    : Person.py

# 类的定义格式:
class Person:
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值