最近我们针对对象属性这块,介绍了不少关于测试属性的方法。在进行一系列测试后,我们发现这个属性并不需要,这时候就要用到删除的功能。在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删除对象方法的代码分析相关推荐

  1. python中函数和类的区别_Python中函数和方法的区别

    简单总结: 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(method). 首先摒弃错误认知:并不是类中的调用都叫方法 函数 ...

  2. python属性和方法的区别_Python中几种属性访问的区别

    起步 python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__ .本文阐述它们的区别和用法. 属性的访问 ...

  3. python属性和方法的区别_Python中几种属性访问的区别与用法详解

    起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...

  4. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  5. python中read和readline的区别_Python中read()、readline()和readlines()三者间的区别和用法...

    前言 众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了.以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也 ...

  6. python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承

    1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...

  7. python中int和eval的区别_python中eval与int的区别浅析

    python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...

  8. python中列表和集合的区别_python中列表和集合有什么区别

    列表list 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样 ...

  9. python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别

    Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...

最新文章

  1. 2013 Multi-University Training Contest 5 部分解题报告
  2. Matlab中disp、fprintf和sprintf
  3. 给Ubuntu添加清华的软件源
  4. (四)JS学习笔记 - 模式 - 观察者模式
  5. how is my appointment opened in HCP
  6. flux读取不到数据_初学flux的疑问?无法添加数据到DOM
  7. 原生JS获取地址了参数
  8. 能够快速赚到钱的,一般就三类人
  9. WebApi接口访问异常问题。尝试创建“testController”类型的控制器时出错。请确保控制器具有无参数公共构造函数
  10. Lunix git stash clear 或者 git stash drop后恢复的方法
  11. doe五步法_DOE试验设计的五大步骤
  12. 使用Air724UG模块拍摄照片并上传至云服务器
  13. 跨境电商亚马逊ERP之如何选择好用的ERP软件
  14. ue字符编码_用ultraedit实现编码转换
  15. Codeforces::GYM 102896M Miser
  16. 小技巧-彻底删除U盘中的文件
  17. fliebeat+kafka ELK日志分析平台实战
  18. 详解pandas的read_csv方法
  19. 微型计算机系统构成的核心部分是,计算机系统组成及工作原理题目
  20. 作为产品经理,有必要考各种证书吗?比如:pmp,npdp

热门文章

  1. Redis介绍使用及进阶
  2. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNTION(翻译)
  3. pentaho中Invalid byte 3 of 3-byte UTF-8 sequence的解决方法
  4. shell中几个特殊的符号
  5. win7编程接口的一些变化
  6. 从一个实际的例子来了解线程套间模型(.NET and COM interop)
  7. 00asp.net_js前后台代码互访
  8. linux系统下安装配置iSCSI教程
  9. PostgreSQL创建数据库时报错:ERROR: source database template1 is being accessed by other users
  10. python 简化连锁比较 pycharm提示Simplify chained comparison