Python hasattr()函数

hasattr()是 Python 内置函数之一,用于检查一个对象是否具有指定的属性或方法。

hasttr()函数语法

hasattr(object, name)

其中:

  • object:需要检查的对象。
  • name:要检查的属性或方法的名称,可以是字符串或标识符。

如果对象具有指定的属性或方法,则返回True,否则返回False;此功能是通过调用getattr(object, name)看是否有AttributeError异常来实现的。

hasattr()函数示例

例如,假设有一个类Person,它有一个名为name的属性和一个名为say_hello()的方法。可以使用hasattr()检查一个实例person是否具有这些属性或方法:

class Person:
    def __init__(self, name):
        self.name = name
        
    def say_hello(self):
        print(f"Hello, my name is {self.name}.")

person = Person("Alice")

# 检查实例是否具有属性
print(hasattr(person, "name")) # True
print(hasattr(person, "age"))  # False

# 检查实例是否具有方法
print(hasattr(person, "say_hello")) # True
print(hasattr(person, "say_goodbye")) # False

可以看到,在上面的示例中,hasattr()函数分别检查了person实例的name属性和say_hello()方法,返回了True,表明该实例确实具有这些属性和方法。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/python-built-in-functions/python-hasattr.html

分类: 计算机技术
推荐阅读:
Python实现列表去重的多种方法及性能对比 本文将通过多种方法实现列表(List)去重(将列表中的重复项删除);其中包括使用常规方法去重、set()集和去重、使用enumerate()去重、和使用collections.OrderedDict.fromkeys()实现去重;并编写了测试代码来测试这些去重方法的性能、以及去重后元素的排序是否改变;
Linux找出目录下所有内容重复的文件(包含子目录) 在Linux系统下,如果你想找出某个目录下(包含子目录)所有内容重复的文件,你可以使用这一条命令实现:
PySide6 setStyle()函数详细教程 Pyside6.QtWidgets.QApplication类的成员函数setStyle()用于设置程序的GUI样式;
Rust实现字符串sha1、sha256、sha512加密 本文将在Rust语言中使用sha1、sha256、sha512等安全散列算法对字符串进行加密;
Linux系统删除目录下的所有空目录 在Linux系统下,你如果想删除某个目录下所有的空目录,那你可以通过这一条命令实现:
Rust入门示例教程 该教程是一个可运行示例的集合,这些示例说明了各种Rust概念和标准库;如果你不喜欢阅读大量的文档来学习编程语言,那么该示例教程就很适合你,它不仅覆盖了你要学习的知识,而且有很多的篇幅来解释代码;