python中delattr删除对象方法的代码分析


Posted in Python onDecember 15, 2020

最近我们针对对象属性这块,介绍了不少关于测试属性的方法。在进行一系列测试后,我们发现这个属性并不需要,这时候就要用到删除的功能。在python中可以选择delattr函数删除对象的属性,基于它的删除功能,是否能扩展到删除的对象的方法上,在我们对delattr函数进行全面了解后,展开实例的测试。

1.说明

函数作用用来删除指定对象的指定名称的属性,和setattr函数作用相反。

不能删除对象的方法。

2.参数

object -- 对象。

name -- 必须是对象的属性。

3.返回值

无。

4.实例

>>> a.sayHello
<bound method A.sayHello of <__main__.A object at 0x03F014B0>>
>>> delattr(a,'sayHello') #不能用于删除方法
Traceback (most recent call last):
 File "<pyshell#50>", line 1, in <module>
  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中delattr删除对象方法的代码分析的文章就介绍到这了,更多相关python中delattr可以删除对象方法吗内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
Django安装配置mysql的方法步骤
Oct 15 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
Python3 翻转二叉树的实现
Sep 30 Python
python数据爬下来保存的位置
Feb 17 Python
Python通过Pillow实现图片对比
Apr 29 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
Python 字符串池化的前提
Jul 03 Python
python Pexpect模块的使用
Dec 25 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
Dec 15 #Python
python 基于Apscheduler实现定时任务
Dec 15 #Python
next在python中返回迭代器的实例方法
Dec 15 #Python
python中slice参数过长的处理方法及实例
Dec 15 #Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 15 #Python
Window10上Tensorflow的安装(CPU和GPU版本)
Dec 15 #Python
详解python中的异常捕获
Dec 15 #Python
You might like
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
浅谈php冒泡排序
2014/12/30 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
js实现随机数小游戏
2019/06/28 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
python 循环while和for in简单实例
2016/08/16 Python
Django内容增加富文本功能的实例
2017/10/17 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
公司承诺书格式
2014/05/21 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
Redis基本数据类型String常用操作命令
2022/06/01 Redis