一、hasattr(object,name):检查 object 对象是否包含名为 name 的属性或方法,有返回True,否则返回False。

class A:name = 'test'def func(self):return "hello"a = A()print(hasattr(a, "name"))
print(hasattr(a, 'fun'))
print(hasattr(a,'test'))
>>>>True
>>>>True
>>>>False

二、getattr(object,name,default=None):获取 object 对象中名为 name 的属性的属性值,当有默认值时,属性没有给出时将返回默认值;如果不存在,则引发异常。

class A:name = 'test'def func(self):return "hello"a = A()
>>>> getattr(a, 'name')
>test>>>> getattr(a, 'age')
>AttributeError: 'A' object has no attribute 'age'>>>> getattr(a,'age',18)
>18

如果是返回的对象的方法,返回的是方法的内存地址,如果需要运行这个方法,可以加()调用

class A:name = 'test'def func(self):return "hello"a = A()
>>>> getattr(a, 'func')
><bound method A.func of <__main__.A object at 0x000001A541EDA4F0>>>>>> getattr(a, 'func')()
>hello

三、setattr(object,name,value):设置object 对象的 name 属性设为 value。

class A:name = 'test'def func(self):return "hello"
a = A()
>>>>setattr(a,'age',18)
>>>>getattr(a,'age',18)
>18

当给对象添加方法时,value需要填写为方法的名字

def func1():return "hello world"class A:name = 'test'def func(self):return "hello"a = A()>>>> setattr(a,"new_fun",func1)
>>>>a.new_fun()
>hello world

Python中setattr()、getattr()、hasattr() 函数相关推荐

  1. python 中setattr()函数

    语法 setattr(object, name, value) 参数 object – 对象. name – 字符串,对象属性. value – 属性值. 返回值 无 例子 对已存在的属性进行赋值: ...

  2. python hasattr函数_浅谈python中的getattr函数 hasattr函数

    hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: & ...

  3. python中的内置函数getattr()介绍及示例

    python中的内置函数getattr()介绍及示例 其实getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里 ...

  4. python getattr调用自己模块_在Python中通过getattr获取对象引用的方法

    getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用. >>> li = ["Larry", "Curly ...

  5. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  6. python函数分几种_简单了解Python中的几种函数

    python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda lambda函数的使用方法:在lam ...

  7. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  8. python中的高阶函数

    python中的高阶函数 文章目录: 1 什么是高阶函数? 1.1 高阶函数:一个函数的`函数名`作为参数传给另外一个函数 1.2 高阶函数:一个函数返回值(return)为另外一个`函数` 2 py ...

  9. Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略

    Python编程语言学习:python中与数字相关的函数(取整等).案例应用之详细攻略 目录 python中与数字相关的函数 1.对小数进行向上取整 1.1.利用numpy库 1.2.利用math库

  10. Python中字符串常用处理函数

    ** Python中字符串常用处理函数 ** 1.len( )函数 用len( )函数计算字符串的长度 2.strip( )函数 删除字符串两边的空白符(包括:'\n'.'\t'.'\r') 注:只能 ...

最新文章

  1. 【机器视觉学习笔记】OpenCV C++ 与 HSV颜色模型
  2. VC6获取硬盘序列号、型号、修订版本号
  3. linux中控和安卓中控哪个比较好,原厂中控和改装中控有什么区别?哪个更好?...
  4. python递归和循环的区别_递归与伪递归区别,Python 实现递归与尾递归
  5. 扫地机器人什么牌子好?专业人士推荐这五款高端产品
  6. java 遍历 likedlist_Java集合02----LinkedList的遍历方式及应用
  7. php获取文件夹下指定文件名_VBA和Python对对碰,获取文件名称(含子文件夹)
  8. Java 基础实验 银行转账
  9. java毕业设计老鹳窝旅游网源码+lw文档+mybatis+系统+mysql数据库+调试
  10. 初试小刀自我简历小程序
  11. oracle打开游标报904,物化视图刷新报错ora-920(或ora-904)
  12. 科研为什么需要甘特图
  13. 计算机视觉之旅(Day5)
  14. 【转】区块链是什么,如何简单易懂地介绍区块链?
  15. 【笔记】Polygon mesh processing 读书笔记(3)
  16. 如何安装 Manjaro 21 桌面系统 ?
  17. 80C51单片机指令寻址方式
  18. 看房子软件测试初学者,新人必看,测试大佬私藏的入门性能测试五步走,果断收藏!...
  19. Unity 获得周边最近的物体
  20. 3.1 控制器之ReplicaSet/ReplicationController

热门文章

  1. ACM练级日志:ACM2013 南京网络赛
  2. 花椒油是什么,怎么用?
  3. 【自动写代码】Quokka.js是一款通过注释实时生成代码的插件,该插件安装在vscode工具上面,但是需要激活才能使用
  4. 华为ENSP中AR启动失败错误代码40,42,43,及启动后一直#的问题的一种解决方案
  5. 芯片短缺蔓延到路由器 网络通信产品出现供货紧张-道合顺大数据Infinigo
  6. php hashids 数字(正整数)加密字条串方法(用于从数字生成类似 YouTube 的 id。不想向用户公开数据库数字 ID 时使用它)
  7. jQuery.ajaxSetup() 详解
  8. [小样本语义分割]Few-Shot Segmentation via Cycle-Consistent Transformer
  9. gradle构建maven提示Missing required attribute: dependency groupId POM
  10. 猿圈php,路飞学城-学习文档