hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法。

  • 无论是属性名还是方法名,都在 hasattr() 函数的匹配范围内。
  • 通过该函数判断实例对象是否包含该名称的属性或方法,但不能精确判断,该名称代表的是属性还是方法。

hasattr() 函数源码如下:

def hasattr(*args, **kwargs): # real signature unknown"""Return whether the object has an attribute with the given name.This is done by calling getattr(obj, name) and catching AttributeError."""pass

语法格式如下:

hasattr(obj, name)
  • obj 指的是某个类的实例对象
  • name 表示指定的属性名或方法名
  • return    True 或者 False

示例代码:

class Test(object):def __init__(self):self.name = "张三"self.age = 25def say(self):print("I love study!")obj = Test()
print(hasattr(obj, "name"))
print(hasattr(obj, "age"))
print(hasattr(obj, "say"))
print(hasattr(obj, "new_name"))

运行结果:

python中hasattr()函数用法详解相关推荐

  1. python中setattr()函数用法详解

    setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的. getattr()用法详见博文:python中getattr()函数用法详解_IT之一小佬的博客-CSDN ...

  2. python中repr()函数用法详解

    在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str() 或者 repr() . str()和repr()区别: 函数str( )将其转化成为适于人阅读的前端样式文本 ...

  3. python中getattr()函数用法详解

    getattr() 函数用于返回一个对象属性值. def getattr(object, name, default=None): # known special case of getattr&qu ...

  4. python中namedtuple函数用法详解

    源码解释: def namedtuple(typename, field_names, *, rename=False, defaults=None, module=None):"" ...

  5. python中isinstance()函数用法详解

    isinstance()用来判断一个对象是否是一个已知的类型,isinstance()函数的语法如下: isinstance(object,classtype) object -- 实例对象. cla ...

  6. python中reduce()函数用法详解

    reduce()源码: def reduce(function, sequence, initial=None): # real signature unknown; restored from __ ...

  7. python中any()函数用法详解

    any()源码解析: def any(*args, **kwargs): # real signature unknown"""Return True if bool(x ...

  8. Python中strip()函数用法详解

    strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. 移除首尾存在于strip('str_list') str_list中任何的字符. 如图所示,只要字符串中收尾存在着1 ...

  9. Python setattr()、getattr()、hasattr()函数用法详解

    Python setattr().getattr().hasattr()函数用法详解 除了前面介绍的几个类中的特殊方法外,本节再介绍 3 个常用的函数,分别是 hasattr().getattr() ...

最新文章

  1. 独家揭秘!阿里大规模数据中心的性能分析
  2. 书评 | 9 年码龄工程师读 Android 经典
  3. 算法-------寻找旋转排序数组中的最小值
  4. 基于命令序列的异常行为分析 业界研究现状分析
  5. 快手二面:引入RabbitMQ后,你如何保证全链路数据100%不丢失?
  6. Linux多任务编程——进程
  7. python日志_python日志处理
  8. 5G 兴起、智能手机饱和、AI 普及......2019 年的科技趋势预测
  9. 了解Objective-C中NSAutoreleasePool使用方法
  10. 【本人秃顶程序员】SpringMVC工作原理详解
  11. Kotlin 官方参考文档 中文版_kotlin-reference-chinese.pdf
  12. 大工微电子器件可靠性基础作业四威布尔分布小题求参数m和t0
  13. MySQL---行转列
  14. 蓝桥杯 Fibonacci数列求余数 C语言版本
  15. win10自带虚拟机 Hyper-V下载和安装linux系统
  16. 生物医学数据统计分析-两组或多组计量资料的比较
  17. 工厂系列系统之 MES 系统8 生产计划-订单
  18. 解决DoubanFM第三方客户端UI线程与工作线程交互问题
  19. 动态规划:奶牛吃草问题
  20. HTML5----响应式(自适应)网页设计

热门文章

  1. Bluetooth--- android -- 蓝牙 bluetooth
  2. 二进制文件的读写详细剖析
  3. 数字化转型:服务化设计原则
  4. calibre跑DRC的出现的问题汇总
  5. 如何理解梯度下降算法?『MindSpore 啃书吧』为你分享
  6. 深入浅出AOF功能和AOF重写两个知识点
  7. 以《少年三国志2》为例,分析数值驱动的滚服游戏设计
  8. MyReport报表系统v1.2发布
  9. Android View体系(1)
  10. 反爬虫策略调研与分析