python入门——P41魔法方法:构造和析构
- 魔法方法总是被双下划线包围
- 魔法方法是面向对象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魔法方法:构造和析构相关推荐
- python构造和析构_python魔法方法 构造和析构实例讲解
目录: 一._ _init_ _(self[, ...]) 二._ _new_ _(cls[, ...]) 三._ _del_ _(self) 四.课时41课后习题及答案 说的那么厉害,那什么是魔法方 ...
- python入门——P48魔法方法:迭代器
迭代 上一次的输出,作为下一次的输入,返回自身,代码如下 dic = {"00":"a", "01":"b", &quo ...
- python入门——P47魔法方法:定制序列
容器类型的协议 希望容器不可变,则只需定义__len_()和__getitem_()方法 如果希望容器可变,除了上面两个,还需要__setitem_()和__delitem_()两个方法 编写一个不可 ...
- python入门——P45魔法方法:属性访问
下面是通过property访问属性的用法 class C():def __init__(self, size=10):self.size = sizedef getsize(self):return ...
- python入门——P43魔法方法:算数运算2
改写魔法方法,下发代码把int类的加减进行了互换 class New_num(int):def __add__(self, other):return int.__sub__(self, other) ...
- python入门——P42魔法方法:算数运算1
下面是算数运算的一些魔法方法 我们接下来可以做个小改变 class New_num(int):def __add__(self, other):return int.__sub__(self, oth ...
- python入门——P46魔法方法:描述符(Property的原理)
描述符 描述符就是将某种特殊类型的类的实例,指派给另一个类的属性. 特殊类型: __get_(self, instance, owner) 用于访问属性,返回属性的值 __set_(self, ins ...
- python入门——P44魔法方法:简单定制
写个计时器的类 import time as t class Mytimer():def __init__(self):self.unit = ["year", "mou ...
- 刻意练习:Python基础 -- Task11. 魔法方法
背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...
最新文章
- Android app开发捷径,让你少去踩坑
- gtf与gff3文件【格式】【转换】
- SSPI简介 windows专用GSSAPI
- 2017.07.05 第五组 NABCD+用户原型+用户调研
- kafka0.9 java commit_0.9版本kafka优化及常见错误(转载)
- ios开发中遇到的文件和字符的问题大总结
- 使用阿里云docker加速器
- python中什么是按位取反_Python学习中的“按位取反”笔记总结
- 做一个项目,平时都用到哪些工具提高效率(上)[转]
- 一天一点数据结构+算法:复习堆的知识
- [转]Linux中常见目录简介
- 应用10秒部署、成本降低50% 阿里云serverless容器改写云计算极限
- 2021-06-19列表的介绍
- win10计算机策略禁止用户安装,win10系统软件无法安装显示被组策略阻止的操作办法...
- C语言 100道经典编程题适用于专升本,专接本【详细分析版】
- sqli-labs 前五关
- cartographer自动更新地图,2条路径数据合并为1条数据
- keil5编译后Code RO-data RW-data ZI-data是什么
- 纺织服装行业通过GRS认证增加产品竞争力
- Java中的escape,unescape方法
热门文章
- python中从键盘输入的代码_python如何从键盘获取输入实例
- 2021总结和2022展望
- python百度人脸识别_python 与 百度人脸识别api
- 函数不可以直接调用其他函数内部定义的变量_基础知识回顾函数(一)
- 一个非常好的建立多层结构应用的例子--Infragistics Tracker Application
- 并不对劲的bzoj5340:loj2552:uoj399:p4564: [Ctsc2018]假面
- 培生同意以3亿美元出售华尔街英语
- ugui用户定义操作按键
- javascript 技巧总结积累1-108条(正在积累中)
- 计算机网络—体系结构相关真题练习(二)