Python中setattr()、getattr()、hasattr() 函数
一、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() 函数相关推荐
- python 中setattr()函数
语法 setattr(object, name, value) 参数 object – 对象. name – 字符串,对象属性. value – 属性值. 返回值 无 例子 对已存在的属性进行赋值: ...
- python hasattr函数_浅谈python中的getattr函数 hasattr函数
hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: & ...
- python中的内置函数getattr()介绍及示例
python中的内置函数getattr()介绍及示例 其实getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里 ...
- python getattr调用自己模块_在Python中通过getattr获取对象引用的方法
getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用. >>> li = ["Larry", "Curly ...
- python平方数迭代器_对python中的高效迭代器函数详解
python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...
- python函数分几种_简单了解Python中的几种函数
python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda lambda函数的使用方法:在lam ...
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...
Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...
- python中的高阶函数
python中的高阶函数 文章目录: 1 什么是高阶函数? 1.1 高阶函数:一个函数的`函数名`作为参数传给另外一个函数 1.2 高阶函数:一个函数返回值(return)为另外一个`函数` 2 py ...
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
Python编程语言学习:python中与数字相关的函数(取整等).案例应用之详细攻略 目录 python中与数字相关的函数 1.对小数进行向上取整 1.1.利用numpy库 1.2.利用math库
- Python中字符串常用处理函数
** Python中字符串常用处理函数 ** 1.len( )函数 用len( )函数计算字符串的长度 2.strip( )函数 删除字符串两边的空白符(包括:'\n'.'\t'.'\r') 注:只能 ...
最新文章
- 【机器视觉学习笔记】OpenCV C++ 与 HSV颜色模型
- VC6获取硬盘序列号、型号、修订版本号
- linux中控和安卓中控哪个比较好,原厂中控和改装中控有什么区别?哪个更好?...
- python递归和循环的区别_递归与伪递归区别,Python 实现递归与尾递归
- 扫地机器人什么牌子好?专业人士推荐这五款高端产品
- java 遍历 likedlist_Java集合02----LinkedList的遍历方式及应用
- php获取文件夹下指定文件名_VBA和Python对对碰,获取文件名称(含子文件夹)
- Java 基础实验 银行转账
- java毕业设计老鹳窝旅游网源码+lw文档+mybatis+系统+mysql数据库+调试
- 初试小刀自我简历小程序
- oracle打开游标报904,物化视图刷新报错ora-920(或ora-904)
- 科研为什么需要甘特图
- 计算机视觉之旅(Day5)
- 【转】区块链是什么,如何简单易懂地介绍区块链?
- 【笔记】Polygon mesh processing 读书笔记(3)
- 如何安装 Manjaro 21 桌面系统 ?
- 80C51单片机指令寻址方式
- 看房子软件测试初学者,新人必看,测试大佬私藏的入门性能测试五步走,果断收藏!...
- Unity 获得周边最近的物体
- 3.1 控制器之ReplicaSet/ReplicationController
热门文章
- ACM练级日志:ACM2013 南京网络赛
- 花椒油是什么,怎么用?
- 【自动写代码】Quokka.js是一款通过注释实时生成代码的插件,该插件安装在vscode工具上面,但是需要激活才能使用
- 华为ENSP中AR启动失败错误代码40,42,43,及启动后一直#的问题的一种解决方案
- 芯片短缺蔓延到路由器 网络通信产品出现供货紧张-道合顺大数据Infinigo
- php hashids 数字(正整数)加密字条串方法(用于从数字生成类似 YouTube 的 id。不想向用户公开数据库数字 ID 时使用它)
- jQuery.ajaxSetup() 详解
- [小样本语义分割]Few-Shot Segmentation via Cycle-Consistent Transformer
- gradle构建maven提示Missing required attribute: dependency groupId POM
- 猿圈php,路飞学城-学习文档