python请简述构造函数和析构函数的作用_python构造函数和析构函数
一、构造函数
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构造函数和析构函数相关推荐
- python请简述构造函数和析构函数的作用_python – 构造函数和析构函数如何工作?...
我正在尝试理解这段代码: class Person: '''Represents a person ''' population = 0 def __init__(self,name): //some ...
- python中简述对象和类的关系_Python学习笔记(七)对象和类
什么是对象 Python中所有的数据都是以对象的形式存在,无论是简单的数字类型还是复杂的代码模块.在Python中,当我们想要创建属于自己的对象或者修改已有对象的行为时,才需要关注对象的内部实现细节. ...
- python中修饰器的优点和作用_Python入门基础教程之装饰器
Python装饰器的定义:在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式称之为装饰器(Decorator) 装饰器的优点和用途: 1. 抽离出大量函数中与函数功能本身无关的的雷同 ...
- python中try语句的用法和作用_python基础知识三——try与except处理异常语句
try/except介绍 与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错(python作为脚本语言没有编译的环节,在执行过程中对 ...
- python中修饰器的优点和作用_python 装饰器
1. 装饰器装饰器其实是一个函数,作用是装饰其他函数 装饰器的特点:1. 不改变被装饰的函数的源代码的情况下添加函数的功能 2. 不改变被装饰的函数的调用方式 装饰器的组成方式:高阶函数+嵌套函数 1 ...
- python中修饰器的优点和作用_Python装饰器(你想知道的这里都有)
1. 装饰器的定义 就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数. 装饰器的功能特点: 不修改已有函数的源代码 不修改已有函数的调用方式 给已有函数增加额外的功能 闭包和装饰器的区分: ...
- python中的sys的概念和作用_Python(os和sys)理解
Python(os和sys)理解 os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口; sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时 ...
- python中简述对象和类的关系_Python笔记-习题42 对象、类及从属关系
1.研究一下为什么Python添加了这个奇怪的叫做object的类,它究竟有什么含义呢? A:Python中一切皆对象,创建的类皆以object为基类(父类),默认继承继承基类的属性和方法 Pytho ...
- python标准库random中函数的作用_Python随机函数库random的使用方法详解
Python随机函数库random的使用方法详解 前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为 ...
最新文章
- node中怎样将css导入到html,CSS无法使用Node.js加载到我的HTML代码中
- 只能匹配第一列吗_VLOOKUP会用了吗?不会的抓紧看
- C++ 对象内存布局 (4)
- leetcode装最多水的容器383
- 反思快速完成功能代码
- 机器学习模型 知乎_机器学习-模型选择与评价
- 计算机专业后悔么,王言匀
- Android四大组件---BroadcastReceiver
- laravel sql多个orWhere条件时数据查询错误
- ElementUI:使input自动聚焦的两种方法
- ie6下,给a添加事件,如果事件中有http请求,将会无效
- 禁忌搜索算法求解TSP问题-python实现
- 单片机控制点阵字符显示及字模提取原理
- 12款响应式 Lightbox(灯箱)效果插件
- MCU学习笔记_ARM Cortex M0_简介
- 国内常用地图坐标系总结
- 西安游记(兵马俑 -- 华清池)
- 石墨文档入选「2021 数字经济产业 TOP100 榜单」
- 【杰理AC695X】7脚屏PWM控制亮度
- AI智能分析在智慧电厂的典型应用