__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__方法相关推荐

  1. Python类中的私有属性和私有方法

    Python类中的私有属性和私有方法 Python是面向对象的语言,在Python里一切皆对象,所以大部分情况下,我们都是通过类的方式来编程. 但是Python中的属性和方法在类的外部默认是可以访问的 ...

  2. 第八章 Python类中常用的特殊变量和方法

    上章花了近三十章节介绍类的知识,本章估计内容也比较多,讲完这些,其实还有更多.为什么这么多类有关的知识呢,这是因为在Python里面一切皆对象,就连整型.浮点数.字符串这些比较常规的类型都是作为类来实 ...

  3. 《Python面向对象编程指南》——1.2 基类中的__init__()方法

    本节书摘来自异步社区<Python面向对象编程指南>一书中的第1章,第1.2节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区"异步社区 ...

  4. 【转】python类中super()和__init__()的区别

    [转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object):def __init__(sel ...

  5. 用生动的例子花式解释:python类中一定需要有 __init__方法么?没有会怎样?

    python 类中一定需要有 __init __方法么?没有的会怎样? 在回答这个问题之前,先说两个问题: ① 面向对象编程? ② 什么是类? 面向对象,先上一个正式点的解释: "把一组数据 ...

  6. python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解

    我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pa ...

  7. python类中包含一个特殊的变量、它可以访问类的成员_Python 类的特殊成员介绍...

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  8. python 类中的变量、方法

    一. python 类中的变量分为类变量,实例变量,self # coding:utf-8class A(object):date = '20201215' # 类变量def __init__(sel ...

  9. python 类中定义类_Python中的动态类定义

    python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...

  10. python隐藏部分代码_python隐藏类中属性的3种实现方法

    方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...

最新文章

  1. linux下poll和epoll内核源代码剖析
  2. javaweb报错There is no Action mapped for namespace [/] and action name [Login] context path [/struts]
  3. 一个通过Flash设计与Flex结合开发的网站www.mapgle.cn
  4. 修正CS2.0中的日历头显示错误
  5. mac安装了多版本php 卸载,mac 安装多版本PHP
  6. ResNet Keras实现
  7. 图片的等比缩放和Logo水印
  8. 敏捷开发中如何进行团队绩效管理
  9. pandas数据分组与聚合
  10. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
  11. Office excel2010如何用两个文件分别打开两个窗口
  12. 使用cmd命令行查看Windows系统激活信息
  13. 一网通支付ios开发
  14. 魔兽争霸3在win10中调节亮度的办法
  15. 设计思维——科学提升创造力的方法
  16. STM32学习笔记V1.1GPIO寄存器的ODR、BSRR、BRR
  17. Netty实现连接西门子PLC
  18. 【翻译搬运】协调多个运动单元的移动 Coordinated Unit Movement【一】
  19. 10个你未必知道的CSS技巧与14种cssdiv中基本滤镜介绍
  20. 安卓app和苹果app共用一个二维码

热门文章

  1. 关于2020新版idea,maven工程依赖成功导入、但运行找不到jar包问题解决。
  2. android studio继承关系,Android Studio中查看类的继承关系
  3. delphi acropdf打印多个pdf_将多个PDF文件整合成一个文件
  4. Java基础:红黑树概念
  5. SQL:PostgreSQL设置自增序列
  6. Javascript:基础语法
  7. php 高德地图创建标注,高德地图 JS API的覆盖物—编辑矢量图形
  8. Scrypt哈希算法简介
  9. 论文笔记_S2D.55_2019_SLAM综述_Huang B. A Survey of Simultaneous Localization and Mapping
  10. 分布式存储系统学习笔记(二)—分布式文件系统(3)—Facebook文件系统(Haystack)