Python del:删除对象
目录
描述
语法
使用示例
删除函数
删除类
删除列表元素
删除字典中的键值对
描述
del是Python关键字之一,它表示删除Python对象。在Python的世界中,一切都是由对象组成的。因此可以使用del删除由对象组成的一切。
语法
del <object>
名称 | 描述 |
---|---|
object | 待删除的对象 |
使用示例
删除函数
在Python中,函数也是对象。使用del可以删除函数的声明:
def hi():print("hi")if __name__ == '__main__':hi()# output: hidel hihi()# NameError: name 'hi' is not defined
del也可以删除类中的方法。对于在使用del之前就实例化的对象,也会一并删除对象中相应的方法:
class Hi(object):def hi(self):print("hi")if __name__ == '__main__':h = Hi()h.hi()# output: hidel Hi.hih.hi()# AttributeError: 'Hi' object has no attribute 'hi'
也可以选择删除对象中的属性,效果与上例相同。
class Hi(object):def hi(self):print("hi")if __name__ == '__main__':h1 = Hi()h2 = Hi()h1.hi()# output: hih2.hi()# output: hidel h2.hih1.hi()# AttributeError: hi# 虽然删除的是h2对象中的hi方法,但是会影响Hi类中的全部对象。
如果在使用del之前将要被删除的函数或方法赋值给其它变量,那么即使使用del语句删除掉相应的函数和方法,被赋值的变量依旧可以正常使用:
class Hi(object):def hi(self):print("hi")def hello():print("hello")if __name__ == '__main__':h = Hi()fun = h.hihel = hellodel Hi.hidel hellofun()# output: hihel()# # output: hello
删除类
使用del删除类不会影响该类实例化对象的使用。但是删除后就无法继续实例化新的对象了。
class Hi(object):def hi(self):print("hi")if __name__ == '__main__':h = Hi()del Hih.hi()# output: hih2 = Hi()# NameError: name 'Hi' is not defined
删除列表元素
del语句可以删除列表内指定索引的元素:
if __name__ == '__main__':demo = ["Python", "Java", "Golang"]del demo[1]print(demo)# output: ['Python', 'Golang']
如果要删除的索引超界,那么会抛出IndexError:
if __name__ == '__main__':demo = ["Python", "Java", "Golang"]del demo[3]print(demo)# IndexError: list assignment index out of range
删除字典中的键值对
del语句可以删除字典内的键值对:
if __name__ == '__main__':demo = {"A": "a", "B": "b"}del demo["B"]print(demo)# output: {'A': 'a'}
删除不存在的key会引发KeyError:
if __name__ == '__main__':demo = {"A": "a", "B": "b"}del demo["C"]# KeyError: 'C'
Python del:删除对象相关推荐
- python在删除对象时会自动调用析构函数_Python面向对象程序设计构造函数和析构函数用法分析...
本文实例讲述了Python面向对象程序设计构造函数和析构函数用法.分享给大家供大家参考,具体如下: 构造函数和析构函数 1.构造方法的使用 很多类都倾向于将对象创建为有初始化状态.因此类可以定义一个名 ...
- python中删除对象方法的区别_python中delattr删除对象方法的代码分析
最近我们针对对象属性这块,介绍了不少关于测试属性的方法.在进行一系列测试后,我们发现这个属性并不需要,这时候就要用到删除的功能.在python中可以选择delattr函数删除对象的属性,基于它的删除功 ...
- [转载] python如何删除对象属性_Python3基础 delattr 删除对象的属性
参考链接: Python delattr() ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.1 ...
- python如何删除对象属性_如何优雅的删除对象中的指定属性?
要优雅的话,使用 Lodash 的 omit 方法移除不要的属性: const object = { 'a': 1, 'b': '2', 'c': 3 }; const result = _.omit ...
- Python对象引用和del删除引用
1.首先介绍下python的对象引用 1)Python中不存在传值调用,一切传递的都是对象引用,也可以认为是传址调用.即Python不允许程序员选择采用传值或传引用.Python参数传递采用的是&qu ...
- python删除元素del 可以删除部分元素吗_可以使用del删除集合中的部分元素。
[判断题]Python集合可以包含相同的元素.(3.0分) [单选题]student = dict(姓名='张三', 年龄=20, 性别='男'),则student.get("name&qu ...
- Python编程学习3:Python 对象引用和 del 删除引用
面试遇到一个问题:如何删除一个python对象? 下面将介绍python的对象引用和 del删除引用 1. 首先介绍下python的对象引用 1)Python中不存在传值调用,一切传递的都是对象引用 ...
- python爬虫 django搜索修改更新数据_python应用:Django中更新多个对象数据与删除对象的方法...
Python是一种解释型脚本语言,可以应用于以下领域: web和Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 软件开发 后端开发 网络爬虫 更新多个对象 例如说我们现在想要将Ap ...
- python之⾯向对象基础
python之⾯向对象基础 ⼀. 理解⾯向对象 ⾯向对象是⼀种抽象化的编程思想,很多编程语⾔中都有的⼀种思想. 例如:洗⾐服 思考:⼏种途径可以完成洗⾐服? 答: ⼿洗 和 机洗. ⼿洗:找盆 - 放 ...
- python del函数_python del函数是什么以及如何使用?
这是关于Python里比较难得一个函数,甚至于章节不多,但是讲的内容却很多很多,大家对部分内容不知道有没有过了解--面向对象,而在这里主要用到的函数就是del,大家如果不知道的话,可以跟随小编一起来看 ...
最新文章
- 运动桁架下压力信号采集与处理
- Spring的核心思想,总结得非常好!
- mysql自定义变量
- linux剪贴板复制文件原理,linux剪贴板原理
- P2839 [国家集训队]middle
- SAP Spartacus Delivery Mode Component单元测试的Mock设计图
- 说不尽的蒙古人:推荐多兰的诗歌
- 条件随机场python实现_基于条件随机场的多标签分类
- OpenShift 4 Tekton (4) - 使用Workspaces为包含Maven Build的Pipeline提速
- Mysql一些重要配置参数的学习与整理(二)
- 从工作组向域管理转型该如何设置?
- 王码五笔98版forwin10_王码五笔输入法98版
- ubuntu 安装迅雷
- 从SLAM到视觉识别、VIO,大牛分享!
- 数据库原理及应用-李唯唯主编-实验3-2
- 1186: 零起点学算法93——改革春风吹满地(C)
- # 前端初学html+css+js+bootstrap4+jquery部分后的简单响应式静态网页编写(漫威主题个人博客)
- MySQL使用cmd输入show databases没有反应
- android基本功
- 分享154个ASP源码,总有一款适合您