getattr():python内置函数,用来返回对象的属性

class A(object): def set(self, a, b):x = a        a = b        b = x        print (a, b)
a = A()
b = getattr(a, 'set')
b(1, 2)
#2, 1

调用类里的方法,下面就调用了类A的方法set,调用后可以直接使用方法.
看下DBNet中的使用方法,很高级:

   def extract_class_from_args(args):cls = args.copy().pop('class')#这个返回类名package, cls = cls.rsplit('.', 1)#这里不用管,只要知道package是包的路径就行module = importlib.import_module(package)#通过这个import包的路径cls = getattr(module, cls)#通过getattr得到cls这个类,相当于类的初始化return cls

setattr():python内置函数,和getattr对应,用来设置属性值,属性可以不存在。

class B(object):def __init__(self):a = 1
c = B()
setattr(c, "a", 3)
setattr(c, "m", 1)
print(c.a)
print(c.m)
#3, 1

haster、setattr、getattr的区别相关推荐

  1. python setattr/getattr

    对照字典的get/update用于获取/更新键值: test_dic = {"Lisa": 18, "Tom": 17, "Lus": 16 ...

  2. Python 面向对象 —— 特殊函数(setattr、getattr、hasattr)

    类的成员中以__开头和结尾的(__xx__)为特殊函数,可以在外部直接访问,当然最直接的以及设计这一语法糖的初衷还是采用其重载形式. 注:1. 一般接口是固定的,不要轻易更改: _call_:括号运算 ...

  3. Python精确指南——第四章-部署和技巧

    4       Python工程打包部署 Python程序在提供给用户使用时,要脱离Python开发环境运行,此时,需要对python工程进行打包. 常用的Python打包工具有PyInstaller ...

  4. python面向对象(下)

    继承 继承描述了基类的属性如何"遗传"给派生类.一个子类可以继承它的基类的任何属性,不管是数据属性还是方法. 创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个 ...

  5. 接口测试面试题汇总(含答案)

    目录 1.什么是接口? 2.接口组成的要素是什么? 3.你对requests了解多少 4.如何使用requests 5.requests.get作用 6.requests.get语法形式 7.requ ...

  6. 研发工程师面试题整理

    TCP, UDP区别和各自优缺 TCP提供一种面向连接的.可靠的字节流服务 在一个 TCP 连接中,仅有两方进行彼此通信.广播和多播不能用于 TCP TCP使用校验和,确认和重传机制来保证可靠传输 T ...

  7. Python3.5 Django1.10 Scrapy1.2 Ubuntu16.04 HTML5

    1.Python3.5 1. 虚拟环境 venv python3.4 创建虚拟环境(py3.4自带venv,不需要安装) Ubuntu 16.4 python3.5升级python3.6 sudo a ...

  8. python经典面试题100例 面试宝典

    人生苦短 我用 Python 芝麻开门! python 进阶 1 python 经典面试题 9 python 面试 100 例 21 python 面试题总结 101 python 进阶 1 PEP8 ...

  9. 2023年Python面试题_Python进阶_48道

    Python 中类方法.类实例方法.静态方法有何区别? 类方法:是类对象的方法,在定义时需要在上方使用"@classmethod"进行装饰,形参为 cls,表示类对象,类对象和实例 ...

最新文章

  1. Confluence 6 从外部目录中同步数据配置同步间隔
  2. java 强弱软虚_Java的四种引用,强弱软虚,用到的场景
  3. HTTP访问一个网站的过程详解
  4. 第三次学JAVA再学不好就吃翔(part81)--去除ArrayList中重复元素
  5. java中的与或非_与或非 · java development · 看云
  6. 浙江省计算机二级(C语言)通过经验+资料
  7. C语言中的文件是什么?
  8. 郁金香VC外挂教程(全) 翻录版 免Key(精品教程)
  9. android 动态添加listview,动态向listView Android添加元素
  10. Hybrid端口配置理解
  11. android_handler(三)
  12. c语言实现lcd显示自动滚动,lcd1602实现字幕滚动原理_lcd1602滚动显示程序
  13. 豆瓣高分JAVA书籍,你都读过吗?
  14. 1688API接口:item_search_img - 按图搜索1688商品(拍立淘)
  15. 《C++ Primer Plus 第六版 中文版》的研读与学习(五)
  16. 戴德金--连续性和无理数--我自己做的中文翻译第11页
  17. 程序设计思维与实践 Week15 实验
  18. Qt5.12+VS2017环境下编译QtAV视频库
  19. php递归遍历出文件夹下的所有文件和删除文件夹下的所有文件
  20. HDU 2566 统计硬币 【模拟】

热门文章

  1. Python实现线性插值和三次样条插值
  2. Steinhaus-Johnson-Trotter 生成全排列算法
  3. 【Matlab学习】
  4. 15.线程同步的几种方法
  5. C语言编程中void什么意思,程序设计中遇到的void到底是什么意思
  6. 二本计算机专业可以考电网,不能小瞧的二本大学,学生毕业后直接进入电网?不用羡慕公务员...
  7. 将HQL语句转为sql语句
  8. 强化学习中的马尔可夫决策过程
  9. RESTful风格的springMVC
  10. CHAPTER 5 文件共享 - FTP/FTPS/SFTP