【Python高级编程】类和实例化

【Python高级编程】类和实例化

配套视频课程:

【AI人工智能实战】 Python高级编程(附完整版源码资料)

1、类的声明

通俗的说,类就是一个对象的模版。定义的格式如下:

【Python高级编程】类和实例化

配套视频课程:https://www.bilibili.com/video/BV1pPpYzuE7w/?spm_id_from=333.1387.homepage.video_card.click

1、类的声明

通俗的说,类就是一个对象的模版。定义的格式如下:

class是关键字,表示要创建类,className为类名称。类里面可以有属性和方法,属性在类的外面可以看成是变量,方法就是在类中定义的函数。对象则是一个类的真实表现。创建一个对象,在类名后面加上括号即可。

例1:声明一个学生类

  • 属性:姓名、年龄、国籍、班级
  • 方法:打印学生信息
python 复制代码
class Student:
    country = "China"   # 类属性,在方法外部声明
    def info(self,name,age,cla):
        # 实例方法,默认带self参数,该参数必须有,表示的是调用该方法的对象
        # 实例方法内部声明的变量叫做实例属性,self.变量名 = value,可以在类的其他方法中调用
        self.name = name   # 实例属性,在类的内部通过self调用,在外部通过对象调用
        self.age = age
        self.cla = cla   # 班级
        name = 'aaaa'  # 局部变量,只能在当前方法内部调用
    def out(self):
        print(f'姓名:{self.name}\n年龄:{self.age}\n班级:{self.cla}\n国籍:{self.country}')

2、实例化

对象的声明(实例化)

语法:对象名 = 类名(实参1,实参2,......)

例2:实例化Student类

python 复制代码
st = Student()  # 实例化
st.info('张三',16,'高一二班')   # 通过对象调用实例方法
st.out() # 调用out方法,输出学生信息
'''
运行结果:
姓名:张三
年龄:16
班级:高一二班
国籍:China
'''

3、内置方法

类的内置方法,也叫魔法方法,我们需要掌握几个常用的内置方法。

  • new方法

    new(),用于创建对象,在实例化时首先调用new方法返回一个对象

  • 构造方法

    init(),用于初始化对象,在实例化时自动调用

  • 析构方法

    del(),用于销毁对象,在对象生命周期结束时自动调用

例:

python 复制代码
class Cls:
    def __new__(cls, *args, **kwargs):
        print('我是new方法,用于创建对象')
        return object.__new__(cls)
    def __init__(self):
        print('我是构造方法,用于初始化对象')
    def __del__(self):
        print('我是析构方法,用于销毁对象')
obj = Cls()
'''
运行结果:
我是new方法,用于创建对象
我是构造方法,用于初始化对象
我是析构方法,用于销毁对象
'''

课程小结

  1. 完成类与对象声明的语法讲解,这是面向对象编程的基础。
  2. 讲解了三个重要的内置方法,灵活使用它们可以提高代码的质量。

class是关键字,表示要创建类,className为类名称。类里面可以有属性和方法,属性在类的外面可以看成是变量,方法就是在类中定义的函数。对象则是一个类的真实表现。创建一个对象,在类名后面加上括号即可。

例1:声明一个学生类

  • 属性:姓名、年龄、国籍、班级
  • 方法:打印学生信息
python 复制代码
class Student:
    country = "China"   # 类属性,在方法外部声明
    def info(self,name,age,cla):
        # 实例方法,默认带self参数,该参数必须有,表示的是调用该方法的对象
        # 实例方法内部声明的变量叫做实例属性,self.变量名 = value,可以在类的其他方法中调用
        self.name = name   # 实例属性,在类的内部通过self调用,在外部通过对象调用
        self.age = age
        self.cla = cla   # 班级
        name = 'aaaa'  # 局部变量,只能在当前方法内部调用
    def out(self):
        print(f'姓名:{self.name}\n年龄:{self.age}\n班级:{self.cla}\n国籍:{self.country}')

2、实例化

对象的声明(实例化)

语法:对象名 = 类名(实参1,实参2,......)

例2:实例化Student类

python 复制代码
st = Student()  # 实例化
st.info('张三',16,'高一二班')   # 通过对象调用实例方法
st.out() # 调用out方法,输出学生信息
'''
运行结果:
姓名:张三
年龄:16
班级:高一二班
国籍:China
'''

3、内置方法

类的内置方法,也叫魔法方法,我们需要掌握几个常用的内置方法。

  • new方法

    new(),用于创建对象,在实例化时首先调用new方法返回一个对象

  • 构造方法

    init(),用于初始化对象,在实例化时自动调用

  • 析构方法

    del(),用于销毁对象,在对象生命周期结束时自动调用

例:

python 复制代码
class Cls:
    def __new__(cls, *args, **kwargs):
        print('我是new方法,用于创建对象')
        return object.__new__(cls)
    def __init__(self):
        print('我是构造方法,用于初始化对象')
    def __del__(self):
        print('我是析构方法,用于销毁对象')
obj = Cls()
'''
运行结果:
我是new方法,用于创建对象
我是构造方法,用于初始化对象
我是析构方法,用于销毁对象
'''

课程小结

  1. 完成类与对象声明的语法讲解,这是面向对象编程的基础。
  2. 讲解了三个重要的内置方法,灵活使用它们可以提高代码的质量。
相关推荐
jay神1 小时前
深度学习的优化器应该怎么选?
人工智能·python·深度学习·毕业设计·课程设计
程序喵大人1 小时前
【C++进阶】STL算法与函数对象 - 09 函数对象保存状态并复用规则
开发语言·c++·算法·stl·函数对象
Hello server3 小时前
DeepSeek Harness 深度体验:把「万物皆插件」做到极致的 AI 编程 Agent
人工智能
驴友花雕7 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
hsjiasb7 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
丰锋ff8 小时前
3.1 Qt事件之事件处理器
开发语言·qt
多弗朗皮卡丘8 小时前
C语言梦开始的地方7:函数
c语言·开发语言
月华路8 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
火山引擎开发者社区8 小时前
DeepSeek-V4 Pro 发布,veStack Day 0 完成模型适配
人工智能
2501_926978338 小时前
AGI 的四种瓶颈:资源型还是发现型--以及DSH的位置
人工智能·经验分享·笔记·ai写作