可以使用setattr(), getattr(), hasattr()动态对实例进行操作. 相当于Java中的反射机制, 或者更确切地, 像JavaScript中属性操作. 具体属性: __dict__: 返回内部属性的字典 其它有用函数: callable(): 判断属性是可调用,即方法 isinstanceof(): 判断实例是否某类…
#coding=utf-8 class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print ("Total Employee %d" % Employee.empCount) def displayEmployee(self)…
@Python的getattr(),setattr(),delattr(),hasattr() 先转一篇博文,参考.最后再给出一个例子 getattr()函数是Python自省的核心函数,具体使用大体如下: 获取对象引用getattrGetattr用于返回一个对象属性,或者方法 class A: def __init__(self): self.name = 'zhangjing'   #self.age='24' def method(self): print"method print&quo…
写一个演示类 class test(): title="验证getattr.setattr.hasattr方法" def run(self): return "run方法的输出" t=test() getattr获取类里面属性.方法:getattr(object, name[,default]) print('获取对象属性的验证:',getattr(t,'title','需要的属性不存在(默认值)')) ''' 1.存在时:输出属性对应的value值 2.不存时:输…
python 内建函数setattr() getattr() setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性. getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值:如果属性name不存在,则触发AttribetError异常或当可选参数default定…
Python自省 这个也是python彪悍的特性. 自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.简单一句就是运行时能够获得对象的类型.比如type(),dir(),getattr(),hasattr(),isinstance(). a = [1,2,3] b = {'a':1,'b':2,'c':3} c = True print type(a),type(b),type(c) # <type 'list'> <type 'dict'> <type 'boo…
getattr是python里的一个内建函数 getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载. python里面跟getattr相关的有hasattr,setattr,delattr  ,那么我们通过下面的例子,来详细的说说他们的用法. class Xiaorui: def __init__(self): self.name = 'xiaorui' def setName(sel…
python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象中提取对象共同的特征和属性,构成一个类. 对象:具有数据属性和函数属性的集合体 实例化:由类生成一个对象的方法,就是实例化 实例:类的实例化就会产生一个实例(对象) 类: 对象就是类的抽象 类实例成对象的过程就是实例化 实例就是对象 2.面向对象的三大特性是什么? 继承,多态,封装 3.什么是方法?…
1. getattr.setattr.hasattr getattr比较常用,与setattr和hasattr一起出现,他们也是最容易理解的,下面是他的用法: class Profile(): name="xiaoxin" def sex(self): return "male"p=Profile() hasattr(p, "name") # 判断属性是否存在 >>> True hasattr(p, "age"…
类的继承.多态.封装 一.类的继承 1.应用场景: 类大部分功能相同,大类包含小类的情况 例如: 动物类 共性:都要吃喝拉撒.都有头有脚 特性: 猫类.走了很轻,叫声特别,喜欢白天睡觉 狗类.的叫声很大,晚上睡觉 2.继承顺序 在python2版本中多重继承有分两种继承循序 (1).一直往上找 .找到最高级的父类再重另外一个分支找,直到找到为止. (2).一直往上找,找到最高级父类的下一层后就不找了.从另外一个分支找,另外一个分支没找到最后才找最高级的父类. 再python3中只有第一种继承循序…