栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中delattr是什么

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中delattr是什么

在我们使用内置函数的时候,有时候需要添加属性,有时候要对属性进行删除的操作。前者我们使用setattr可以解决。在删除属性这方面,小编给大家介绍一个新函数delattr,它的使用正好和setattr相反。关于delattr中删除属性的具体代码用法,我们会在以下的内容中为大家进行介绍。

1.基本用法

# delattr(object, name)
# setattr() 相关的函数。实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象允许,该函数将删除指定的属性。例如 delattr(x, 'foobar') 等价于 del x.foobar 。
 
# 实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象允许,该函数将删除指定的属性。
class Cat:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def intro(self):
        return f'这只猫咪叫{self.name},今年{self.age}岁'
cat = Cat('小明', 3)
# print(f'{ hasattr(cat, "name") = }')
# print(f'{ cat.name = }')
# delattr(cat, "name")
# print(f'{ hasattr(cat, "name") = }')
# print(f'{ cat.name = }')
# print(f'{ hasattr(cat, "intro") = }')
# print(f'{ cat.intro() = }')
# print(f'{ cat.__dict__ = }')
# print(f'{ Cat.__dict__ = }')
# delattr(cat, 'intro')
# delattr(Cat, 'intro')
# print(f'{ hasattr(cat, "intro") = }')
# print(f'{ cat.intro() = }')
 
#  delattr(x, 'foobar') 等价于 del x.foobar 。
print(f'{ hasattr(cat, "name") = }')
del cat.name
print(f'{ hasattr(cat, "name") = }')

2.当属性不存在的时候,会报错

>>> a.name #属性name已经删掉,不存在
Traceback (most recent call last):
  File "", line 1, in 
    a.name
AttributeError: 'A' object has no attribute 'name'
 
>>> delattr(a,'name') #再删除会报错
Traceback (most recent call last):
  File "", line 1, in 
    delattr(a,'name')
AttributeError: name

以上就是python中delattr的一些基本用法,不过平时我们用到的不是很频繁,所以小伙伴们学习后可以存储以下,避免下次使用前找不到了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/11304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号