Python类中的__init__,__del__和__call__方法
__init__
是类(class)和对象的构造函数,__del__
是类和对象生命周期结束时自动调用的方法,__call__
是对象被调用的默认方法。
测试:
class foo():def __init__(self) -> None:print("init")def __call__(self) -> None:print("call")def __del__(self) -> None:print('del')print('--------')
foo()
print('--------')
f=foo()
print('--------')
f()
print('--------')
输出:
--------
init
del
--------
init
--------
call
--------
del
由以上测试可知,直接调用类相当于调用 __init__
方法,随即生命周期便结束,自动调用__del__
方法。
实例化对象也会调用__init__
方法,对对象的调用相当于使用__call__
函数,当程序结束后,对象的生命周期才会结束。
Python类中的__init__,__del__和__call__方法相关推荐
- Python类中的私有属性和私有方法
Python类中的私有属性和私有方法 Python是面向对象的语言,在Python里一切皆对象,所以大部分情况下,我们都是通过类的方式来编程. 但是Python中的属性和方法在类的外部默认是可以访问的 ...
- 第八章 Python类中常用的特殊变量和方法
上章花了近三十章节介绍类的知识,本章估计内容也比较多,讲完这些,其实还有更多.为什么这么多类有关的知识呢,这是因为在Python里面一切皆对象,就连整型.浮点数.字符串这些比较常规的类型都是作为类来实 ...
- 《Python面向对象编程指南》——1.2 基类中的__init__()方法
本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...
- 【转】python类中super()和__init__()的区别
[转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object):def __init__(sel ...
- 用生动的例子花式解释:python类中一定需要有 __init__方法么?没有会怎样?
python 类中一定需要有 __init __方法么?没有的会怎样? 在回答这个问题之前,先说两个问题: ① 面向对象编程? ② 什么是类? 面向对象,先上一个正式点的解释: "把一组数据 ...
- python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解
我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pa ...
- python类中包含一个特殊的变量、它可以访问类的成员_Python 类的特殊成员介绍...
类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...
- python 类中的变量、方法
一. python 类中的变量分为类变量,实例变量,self # coding:utf-8class A(object):date = '20201215' # 类变量def __init__(sel ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
- python隐藏部分代码_python隐藏类中属性的3种实现方法
方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...
最新文章
- linux下poll和epoll内核源代码剖析
- javaweb报错There is no Action mapped for namespace [/] and action name [Login] context path [/struts]
- 一个通过Flash设计与Flex结合开发的网站www.mapgle.cn
- 修正CS2.0中的日历头显示错误
- mac安装了多版本php 卸载,mac 安装多版本PHP
- ResNet Keras实现
- 图片的等比缩放和Logo水印
- 敏捷开发中如何进行团队绩效管理
- pandas数据分组与聚合
- 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
- Office excel2010如何用两个文件分别打开两个窗口
- 使用cmd命令行查看Windows系统激活信息
- 一网通支付ios开发
- 魔兽争霸3在win10中调节亮度的办法
- 设计思维——科学提升创造力的方法
- STM32学习笔记V1.1GPIO寄存器的ODR、BSRR、BRR
- Netty实现连接西门子PLC
- 【翻译搬运】协调多个运动单元的移动 Coordinated Unit Movement【一】
- 10个你未必知道的CSS技巧与14种cssdiv中基本滤镜介绍
- 安卓app和苹果app共用一个二维码
热门文章
- 关于2020新版idea,maven工程依赖成功导入、但运行找不到jar包问题解决。
- android studio继承关系,Android Studio中查看类的继承关系
- delphi acropdf打印多个pdf_将多个PDF文件整合成一个文件
- Java基础:红黑树概念
- SQL:PostgreSQL设置自增序列
- Javascript:基础语法
- php 高德地图创建标注,高德地图 JS API的覆盖物—编辑矢量图形
- Scrypt哈希算法简介
- 论文笔记_S2D.55_2019_SLAM综述_Huang B. A Survey of Simultaneous Localization and Mapping
- 分布式存储系统学习笔记(二)—分布式文件系统(3)—Facebook文件系统(Haystack)