gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python中delattr删除对象方法的代码分析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

1.说明   。

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

不能删除对象的方法.

2.参数 。

object -- 对象.

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

3.返回值 。

无.

4.实例 。

?
1
2
3
4
5
6
7
8
>>> 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 删除对象的属性

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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可以删除对象方法吗内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://www.py.cn/jishu/jichu/21972.html 。

最后此篇关于python中delattr删除对象方法的代码分析的文章就讲到这里了,如果你想了解更多关于python中delattr删除对象方法的代码分析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com