• 魔法方法总是被双下划线包围
  • 魔法方法是面向对象Python的一切
  • 魔法方法的强大,体现在他们总能在合适的时候自动调用

__init__(self[, …])

在实例被构造初始就需要属性,对一个对象进行初始化,才会用到这个函数进行构造
tips:init不能加任何返回

class Rectangle():def __init__(self, x, y):self.x = xself.y = ydef getPeri(self):return (self.x + self.y)*2def getArea(self):return self.x * self.yrectangle1 = Rectangle(4, 5)
print(rectangle1.getPeri())
print(rectangle1.getArea())
18
20

__new__(cla[, …])
new方法都要返回一个实例对象
一般情况下无需使用,除非当你要继承一个不可变类型,又需要进行修改的时候

class CapStr(str):def __new__(cls, string):string = string.upper()return str.__new__(cls, string)str1 = CapStr("love and peace")
print(str1)
LOVE AND PEACE

__del__(self)

对象被销毁,这个方法就会自动被调用

class C:def __init__(self):print("call __init__")def __del__(self):print("call __del__")a1 = C()
call __init__
call __del__

这里创建实例对象后,init自动被调用,程序结束后,del自动被调用

python入门——P41魔法方法:构造和析构相关推荐

  1. python构造和析构_python魔法方法 构造和析构实例讲解

    目录: 一._ _init_ _(self[, ...]) 二._ _new_ _(cls[, ...]) 三._ _del_ _(self) 四.课时41课后习题及答案 说的那么厉害,那什么是魔法方 ...

  2. python入门——P48魔法方法:迭代器

    迭代 上一次的输出,作为下一次的输入,返回自身,代码如下 dic = {"00":"a", "01":"b", &quo ...

  3. python入门——P47魔法方法:定制序列

    容器类型的协议 希望容器不可变,则只需定义__len_()和__getitem_()方法 如果希望容器可变,除了上面两个,还需要__setitem_()和__delitem_()两个方法 编写一个不可 ...

  4. python入门——P45魔法方法:属性访问

    下面是通过property访问属性的用法 class C():def __init__(self, size=10):self.size = sizedef getsize(self):return ...

  5. python入门——P43魔法方法:算数运算2

    改写魔法方法,下发代码把int类的加减进行了互换 class New_num(int):def __add__(self, other):return int.__sub__(self, other) ...

  6. python入门——P42魔法方法:算数运算1

    下面是算数运算的一些魔法方法 我们接下来可以做个小改变 class New_num(int):def __add__(self, other):return int.__sub__(self, oth ...

  7. python入门——P46魔法方法:描述符(Property的原理)

    描述符 描述符就是将某种特殊类型的类的实例,指派给另一个类的属性. 特殊类型: __get_(self, instance, owner) 用于访问属性,返回属性的值 __set_(self, ins ...

  8. python入门——P44魔法方法:简单定制

    写个计时器的类 import time as t class Mytimer():def __init__(self):self.unit = ["year", "mou ...

  9. 刻意练习:Python基础 -- Task11. 魔法方法

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

最新文章

  1. Android app开发捷径,让你少去踩坑
  2. gtf与gff3文件【格式】【转换】
  3. SSPI简介 windows专用GSSAPI
  4. 2017.07.05 第五组 NABCD+用户原型+用户调研
  5. kafka0.9 java commit_0.9版本kafka优化及常见错误(转载)
  6. ios开发中遇到的文件和字符的问题大总结
  7. 使用阿里云docker加速器
  8. python中什么是按位取反_Python学习中的“按位取反”笔记总结
  9. 做一个项目,平时都用到哪些工具提高效率(上)[转]
  10. 一天一点数据结构+算法:复习堆的知识
  11. [转]Linux中常见目录简介
  12. 应用10秒部署、成本降低50% 阿里云serverless容器改写云计算极限
  13. 2021-06-19列表的介绍
  14. win10计算机策略禁止用户安装,win10系统软件无法安装显示被组策略阻止的操作办法...
  15. C语言 100道经典编程题适用于专升本,专接本【详细分析版】
  16. sqli-labs 前五关
  17. cartographer自动更新地图,2条路径数据合并为1条数据
  18. keil5编译后Code RO-data RW-data ZI-data是什么
  19. 纺织服装行业通过GRS认证增加产品竞争力
  20. Java中的escape,unescape方法

热门文章

  1. python中从键盘输入的代码_python如何从键盘获取输入实例
  2. 2021总结和2022展望
  3. python百度人脸识别_python 与 百度人脸识别api
  4. 函数不可以直接调用其他函数内部定义的变量_基础知识回顾函数(一)
  5. 一个非常好的建立多层结构应用的例子--Infragistics Tracker Application
  6. 并不对劲的bzoj5340:loj2552:uoj399:p4564: [Ctsc2018]假面
  7. 培生同意以3亿美元出售华尔街英语
  8. ugui用户定义操作按键
  9. javascript 技巧总结积累1-108条(正在积累中)
  10. 计算机网络—体系结构相关真题练习(二)