python中删除对象方法的区别_python中delattr删除对象方法的代码分析
最近我们针对对象属性这块,介绍了不少关于测试属性的方法。在进行一系列测试后,我们发现这个属性并不需要,这时候就要用到删除的功能。在python中可以选择delattr函数删除对象的属性,基于它的删除功能,是否能扩展到删除的对象的方法上,在我们对delattr函数进行全面了解后,展开实例的测试。
1.说明
函数作用用来删除指定对象的指定名称的属性,和setattr函数作用相反。
不能删除对象的方法。
2.参数
object -- 对象。
name -- 必须是对象的属性。
3.返回值
无。
4.实例
>>> a.sayHello
>
>>> delattr(a,'sayHello') #不能用于删除方法
Traceback (most recent call last):
File "", line 1, in
delattr(a,'sayHello')
AttributeError: sayHello
>>>
通过测试的结果,我们可以看出delattr函数并不能删除对象的方法,只针对于属性有删除的功能,不然就会报错。相信本篇的实战代码演示能让大家对注意点有一个深刻的印象。
Python3基础 delattr 删除对象的属性
class MyClass:
# num是类属性
num = 1
def __init__(self, name):
self.name = name
def main():
test = MyClass("shemingli")
# 删除类属性
# 删除类属性要写类名,而不是实例名
delattr(MyClass, "num")
# 删除实例属性
delattr(test, "name")
"""
def delattr(o: Any, name: str)
Inferred type: (o: Any, name: str) -> None
Deletes the named attribute from the given object.
delattr(x, 'y') is equivalent to ``del x.y''
"""
# 注:如果属性不存在,就抛出异常
if __name__ == '__main__':
main()
python中删除对象方法的区别_python中delattr删除对象方法的代码分析相关推荐
- python中函数和类的区别_Python中函数和方法的区别
简单总结: 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(method). 首先摒弃错误认知:并不是类中的调用都叫方法 函数 ...
- python属性和方法的区别_Python中几种属性访问的区别
起步 python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__ .本文阐述它们的区别和用法. 属性的访问 ...
- python属性和方法的区别_Python中几种属性访问的区别与用法详解
起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...
- python中字典和集合的区别_Python中字典和集合学习小结
映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...
- python中read和readline的区别_Python中read()、readline()和readlines()三者间的区别和用法...
前言 众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了.以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也 ...
- python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承
1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...
- python中int和eval的区别_python中eval与int的区别浅析
python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...
- python中列表和集合的区别_python中列表和集合有什么区别
列表list 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样 ...
- python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别
Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...
最新文章
- 2013 Multi-University Training Contest 5 部分解题报告
- Matlab中disp、fprintf和sprintf
- 给Ubuntu添加清华的软件源
- (四)JS学习笔记 - 模式 - 观察者模式
- how is my appointment opened in HCP
- flux读取不到数据_初学flux的疑问?无法添加数据到DOM
- 原生JS获取地址了参数
- 能够快速赚到钱的,一般就三类人
- WebApi接口访问异常问题。尝试创建“testController”类型的控制器时出错。请确保控制器具有无参数公共构造函数
- Lunix git stash clear 或者 git stash drop后恢复的方法
- doe五步法_DOE试验设计的五大步骤
- 使用Air724UG模块拍摄照片并上传至云服务器
- 跨境电商亚马逊ERP之如何选择好用的ERP软件
- ue字符编码_用ultraedit实现编码转换
- Codeforces::GYM 102896M Miser
- 小技巧-彻底删除U盘中的文件
- fliebeat+kafka ELK日志分析平台实战
- 详解pandas的read_csv方法
- 微型计算机系统构成的核心部分是,计算机系统组成及工作原理题目
- 作为产品经理,有必要考各种证书吗?比如:pmp,npdp
热门文章
- Redis介绍使用及进阶
- VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNTION(翻译)
- pentaho中Invalid byte 3 of 3-byte UTF-8 sequence的解决方法
- shell中几个特殊的符号
- win7编程接口的一些变化
- 从一个实际的例子来了解线程套间模型(.NET and COM interop)
- 00asp.net_js前后台代码互访
- linux系统下安装配置iSCSI教程
- PostgreSQL创建数据库时报错:ERROR: source database template1 is being accessed by other users
- python 简化连锁比较 pycharm提示Simplify chained comparison