一、构造函数

1、定义

构造函数__ init __称为class的构造函数与构造方法,一般作为实例化设置初始值而存在的。即一般是为了初始化对象时将必须要用到的属性、方法做一些定义,而存在。

2、作用

__ init __(self)这个是构造方法,实例化一个对象时,这个方法就会在对象创建时自动调用,实例化类就是创建对象,就会调用这个方法。

实例化对象是可以传入参数的,这些参数被传入init方法中,可通过重写方法来自定义对象初始化操作。

3、示例

定义一个Animal类,初始化name名称和color颜色的属性。对象实例化,并调用test方法后,再返回定义对象的属性。

class Animal():

#构造函数

def __init__(self,name,color):

print('构造函数运行')

self.name = name

self.color = color

def test(self):

print('自定义函数运行')

return self.name,self.color

animal = Animal('天鹅','白色')

print(animal.test())

结果:

构造函数运行

自定义函数运行

('天鹅', '白色')

二、析构函数

1、定义

析构函数(destructor)与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已经调用完毕),系统会自动执行析构函数,析构函数往往用来做清理善后的工作,比如说在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存。

2、作用

主要是销毁/删除临时的变量,主要对那些长期占用内存的临时变量进行销毁,其方法是del。

3、示例

析构函数---手动释放内存

class Animal():

def __init__(self,name,color):

print('构造函数运行')

self.name = name

self.color = color

def test(self):

print('自定义函数运行')

return self.name,self.color

def __del__(self):

#析构函数

print('释放内存资源')

animal_one = Animal('天鹅','白色')

del animal_one #手动释放资源

def run():

animal_two = Animal('天鹅', '白色')

print(animal_two.test())

run()

结果:

构造函数运行

释放内存资源

构造函数运行

自定义函数运行

('天鹅', '白色')

释放内存资源

手动释放资源可以利用del方法。

析构函数---系统自动释放内存

class Animal():

def __init__(self,name,color):

print('构造函数运行')

self.name = name

self.color = color

def test(self):

print('自定义函数运行')

return self.name,self.color

def __del__(self):

#析构函数

print('释放内存资源')

animal_one = Animal('天鹅','白色')

def run():

animal_two = Animal('天鹅', '白色')

print(animal_two.test())

run()

结果:

构造函数运行

构造函数运行

自定义函数运行

('天鹅', '白色')

释放内存资源

释放内存资源

这里需要注意自动释放资源与手动释放资源的区别。手动释放资源时,可以选择在哪一个环节释放变量资源,而在系统释放资源是在程序调用完成后,再释放资源,一般是在程序执行最后才进行资源释放。

python请简述构造函数和析构函数的作用_python构造函数和析构函数相关推荐

  1. python请简述构造函数和析构函数的作用_python – 构造函数和析构函数如何工作?...

    我正在尝试理解这段代码: class Person: '''Represents a person ''' population = 0 def __init__(self,name): //some ...

  2. python中简述对象和类的关系_Python学习笔记(七)对象和类

    什么是对象 Python中所有的数据都是以对象的形式存在,无论是简单的数字类型还是复杂的代码模块.在Python中,当我们想要创建属于自己的对象或者修改已有对象的行为时,才需要关注对象的内部实现细节. ...

  3. python中修饰器的优点和作用_Python入门基础教程之装饰器

    Python装饰器的定义:在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式称之为装饰器(Decorator) 装饰器的优点和用途: 1. 抽离出大量函数中与函数功能本身无关的的雷同 ...

  4. python中try语句的用法和作用_python基础知识三——try与except处理异常语句

    try/except介绍 与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错(python作为脚本语言没有编译的环节,在执行过程中对 ...

  5. python中修饰器的优点和作用_python 装饰器

    1. 装饰器装饰器其实是一个函数,作用是装饰其他函数 装饰器的特点:1. 不改变被装饰的函数的源代码的情况下添加函数的功能 2. 不改变被装饰的函数的调用方式 装饰器的组成方式:高阶函数+嵌套函数 1 ...

  6. python中修饰器的优点和作用_Python装饰器(你想知道的这里都有)

    1. 装饰器的定义 就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数. 装饰器的功能特点: 不修改已有函数的源代码 不修改已有函数的调用方式 给已有函数增加额外的功能 闭包和装饰器的区分: ...

  7. python中的sys的概念和作用_Python(os和sys)理解

    Python(os和sys)理解 os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口; sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时 ...

  8. python中简述对象和类的关系_Python笔记-习题42 对象、类及从属关系

    1.研究一下为什么Python添加了这个奇怪的叫做object的类,它究竟有什么含义呢? A:Python中一切皆对象,创建的类皆以object为基类(父类),默认继承继承基类的属性和方法 Pytho ...

  9. python标准库random中函数的作用_Python随机函数库random的使用方法详解

    Python随机函数库random的使用方法详解 前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为 ...

最新文章

  1. node中怎样将css导入到html,CSS无法使用Node.js加载到我的HTML代码中
  2. 只能匹配第一列吗_VLOOKUP会用了吗?不会的抓紧看
  3. C++ 对象内存布局 (4)
  4. leetcode装最多水的容器383
  5. 反思快速完成功能代码
  6. 机器学习模型 知乎_机器学习-模型选择与评价
  7. 计算机专业后悔么,王言匀
  8. Android四大组件---BroadcastReceiver
  9. laravel sql多个orWhere条件时数据查询错误
  10. ElementUI:使input自动聚焦的两种方法
  11. ie6下,给a添加事件,如果事件中有http请求,将会无效
  12. 禁忌搜索算法求解TSP问题-python实现
  13. 单片机控制点阵字符显示及字模提取原理
  14. 12款响应式 Lightbox(灯箱)效果插件
  15. MCU学习笔记_ARM Cortex M0_简介
  16. 国内常用地图坐标系总结
  17. 西安游记(兵马俑 -- 华清池)
  18. 石墨文档入选「2021 数字经济产业 TOP100 榜单」
  19. 【杰理AC695X】7脚屏PWM控制亮度
  20. AI智能分析在智慧电厂的典型应用

热门文章

  1. QCC51XX---无线调试
  2. 签到界面设计:Html+Css+JS
  3. numpy 入门学习 one_day
  4. 行业案例:帮助企业规范人力资源管理制度案例
  5. 红帽linux5.9安装,redhat5.9系统下载
  6. 调制解调器故障诊断与排除(6.0)
  7. 微信小程序项目实例——智能用电
  8. 三、建立Git本地仓库
  9. Python 格式化输出时间
  10. 鸿蒙分期怎么回事,这例乳腺癌的病理分期到底是啥?太纠结了!