一.内置方法二

1.__del__方法:

  a:构造方法:创建一个空间,  析构方法;释放一个空间;

  b:触发del的情况:Python解释器的垃圾回收机制,和遇到 del 对象名

c:析构方法的思想:

class A:
def __del__(self):
print(self)
a = A()
del a #这里先执行了__del__方法,再删除对象a,因为执行__del__方法时还要传入self;
print(a)
#输出结果:
<__main__.A object at 0x0000013CF5F59128> 被执行了
Traceback (most recent call last):
File "D:/Python/course/23.模块/day23/3.析构方法.py", line 49, in <module>
print(a)
NameError: name 'a' is not defined

d:python的垃圾回收机制:

class A:
def __del__(self):
print('Python解释器会在程序跑结束后执行我')
a = A()
print(a)
#输出结果:
<__main__.A object at 0x000001F823159128>
Python解释器会在程序跑结束后执行我

总结:del方法:是去归还/释放一些在创建对象时借用的一些资源(有可能是操作系统的资源)

例子:像一些常用的变量在Python底层的一些对象,都有Python解释器帮你回收,

而像一些像操作系统借用的资源就需要你执行回收方法自己释放;

像文件句柄;执行close操作,还有一些网络资源;

3.计算机内部执行一些小常识:

a:申请一块空间 操作系统会分配给你的  b:在这一块空间之内的所有事,归你的Python解释器管理;

*****所以在你借用了操作系统资源时,在程序结束之前要还回去,在del方法中写关闭代码;

4.item系列:

1)getitem:对象['key']触发该方法;

class A:
def __getitem__(self, item):
print(item)
return item #[item]触发getitem方法
a = A()
print(a['a'])
#输出结果:
a a

2)getitem和setitem的一些结合应用:

class A:
def __getitem__(self, item):
return getattr(self,item) #相当于self.key
def __setitem__(self, key, value):
setattr(self,key,value) #相当于self.key = value
a = A()
a['k'] = 'v'
print(a['k']) class A:
def __setitem__(self, key, value):
self.key = value
def __getitem__(self, item):
return self.key
a = A()
a['k'] = 'v'
print(a['k'])
#这两段代码的结果一样都是v,上面用到了映射

5.__hash__方法:

1)底层数据结构基于hash值寻址的优化操作
2) hash是一个算法,保证不同值的hash结果不一样的
对同一个值多次在Python解释器中执行的时候,hash值是不同的
但是对同一个值,在同一次执行Python代码的时候hash值永远不变
3)hash值不是万能的,有可能两个值的hash值相同,所以如果在一个变量进行hash算法之后发现地址有值,会进行一个判断,判断两个变量的值是否相等,若相等覆盖,若不等,则对这个变量再进行二次寻址,也遵循一个算法;

4)hash和eq(obj)  # obj内部必须含有__hash__方法

class A:
def __init__(self,name):
self.name = name
def __eq__(self, other):
if self.name == other.name:
return True
a = A('s')
b = A('s')
c = A('s')
print(a == b == c)
#输出结果
True

::::::==触发对象中的eq方法

Python_021(内置方法讲解二)的更多相关文章

  1. Python 数据类型常用的内置方法(二)

    目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...

  2. Python 数据类型常用的内置方法(三)

    目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...

  3. python之字典二 内置方法总结

    Python字典包含了以下内置方法: clear()函数用于删除字典内所有元素 dict1 = {, 'Class': 'First'} print('the start len %d' % len( ...

  4. Python笔记(二十一)_内置函数、内置方法

    内置函数 issubclass(class1,class2) 判断class1类是否为class2类的子类,返回True和False 注意1:类会被认为是自身的子类 >>>issub ...

  5. python入门之数据类型及内置方法

    目录 一.题记 二.整形int 2.1 用途 2.2 定义方式 2.3 常用方法 2.3.1 进制之间的转换 2.3.2 数据类型转换 3 类型总结 三.浮点型float 3.1 用途 3.2 定义方 ...

  6. 20180308-Python内置方法

    先大致粗略的说一下反射的概念,不是很准确,后续详细讲解: 1. 以字符串的形式,导入模块 2. 以字符串的形式,获取模块内部的函数,并执行 通常我们想在一个模块中导入另外一个模块,则需要通过 impo ...

  7. 08python语法入门--基本数据类型及内置方法

    数字类型int与float 定义 类型转换 使用 字符串 定义 类型转换 使用 优先掌握的操作 需要掌握的操作 了解操作 列表 定义 类型转化 使用 优先掌握的操作 需要掌握的操作 了解操作 元组 作 ...

  8. python今日分享(内置方法)

    目录 一.习题详解 二.数据类型的内置方法理论 三.整型相关操作 四.浮点型相关操作 五.字符串相关操作 六.列表相关操作 今日详解 一.习题详解 1.计算1-100所有数据之和 all_num = ...

  9. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

随机推荐

  1. 使用Inception-v3进行图像分类

    https://blog.csdn.net/sinat_27382047/article/details/80534234 https://www.jianshu.com/p/cc830a6ed54b ...

  2. 15.永恒之蓝exp----

    永恒之蓝exp 2017年,影响于全世界 SMB ripid7官网获取ms17-010的exp信息 Rapid7: https://www.rapid7.com/db/modules/exploit/ ...

  3. angulart 常用

    angular: 使用 echarts npm install echarts --save // 安装declare const echarts: any; // 引入https://www.ech ...

  4. API接口设计

    1.场景描述 比如说我们要做一款APP,需要通过api接口给app提供数据.假设我们是做商城,比如我们卖书的.我们可以想象下这个APP大概有哪些内容: 1)首页:banner区域(可以是一些热门书籍的 ...

  5. Spark启动流程(Standalone)-分析

    1.start-all.sh脚本,实际上执行java -cp Master 和 java -cp Worker 2.Master 启动时首先穿件一个RpcEnv对象,负责管理所有通信逻辑 3.Mast ...

  6. 使用electron实现百度网盘悬浮窗口功能!

    相关依赖 里面使用了vuex vue vue-route storeJs storeJs 用来持久化vuex状态 展示 介绍说明 没有使用electron内置的-webkit-app-region: ...

  7. struts2_对Map进行双层迭代

    转自:struts2_对Map进行双层迭代 //后台数据 public String execute() throws Exception { Map<String, List<Produ ...

  8. 转载 PowerDesigner导出mysql数据结构

    转自:https://blog.csdn.net/dkingyaoyao/article/details/84586146 好久没有使用PowerDesigner,突然想用它导出数据结构,居然忘记了. ...

  9. SPSS25 下载安装和激活

    目录 1. 其他版本 2. 安装步骤 3. 下载地址 1. 其他版本 参考:https://www.cnblogs.com/coco56/p/11648399.html 2. 安装步骤 打开安装包 下 ...

  10. Qt项目管理文件(.pro)及其作用详解

    http://c.biancheng.net/view/1819.html 在 Qt Creator 中新建一个 Widget Application 项目 samp2_1,在选择窗口基类的页面选择 ...