【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. 讲解了三个重要的内置方法,灵活使用它们可以提高代码的质量。
相关推荐
强化学习与机器人控制仿真3 分钟前
字节最新开源模型 DA3(Depth Anything 3)使用教程(一)从任意视角恢复视觉空间
人工智能·深度学习·神经网络·opencv·算法·目标检测·计算机视觉
Teacher.chenchong17 分钟前
R语言实现物种分布预测与生态位分析:多元算法实现物种气候生态位动态分析与分布预测,涵盖数据清洗、模型评价到论文写作全流程
开发语言·算法·r语言
机器之心18 分钟前
如视发布空间大模型Argus1.0,支持全景图等多元输入,行业首创!
人工智能·openai
Elastic 中国社区官方博客19 分钟前
Elasticsearch:如何创建知识库并使用 AI Assistant 来配置 slack 连接器
大数据·人工智能·elasticsearch·搜索引擎·全文检索·信息与通信
Baihai_IDP20 分钟前
分享一名海外独立开发者的 AI 编程工作流
人工智能·llm·ai编程
油炸小波23 分钟前
02-AI应用开发平台Dify
人工智能·python·dify·coze
机器之心25 分钟前
Gemini 3深夜来袭:力压GPT 5.1,大模型谷歌时代来了
人工智能·openai
烤麻辣烫33 分钟前
23种设计模式(新手)-7迪米特原则 合成复用原则
java·开发语言·学习·设计模式·intellij-idea
菠菠萝宝1 小时前
【Java手搓RAGFlow】-1- 环境准备
java·开发语言·人工智能·llm·openai·rag
攻城狮CSU1 小时前
C# 异步方法
开发语言·前端·c#