Python 类 setattr、getattr、hasattr 的使用

转载 2015年11月18日 12:52:28
#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):
    print ("Name : ", self.name,  "\nSalary: ", self.salary)
Xiaoxiao = Employee('Xiaoxiao', 2000)
setattr(Xiaoxiao, 'age', 21)
Tiny = Employee("Tiny", 5000)
#setattr(Tiny, 'age', 23)
print ("实例 Employee 类的第一个对象 Xiaoxiao ");
print ('Xiaoxiao 是否存在age属性:',hasattr(Xiaoxiao,'age'))
Xiaoxiao.displayEmployee(); 
print("Age: ",getattr(Xiaoxiao,'age', 'not find'));
print ("\n")
print ("实例 Employee 类的第二个对象 Tiny")
print ('Tiny 是否存在age属性:',hasattr(Tiny,'age'))
Tiny.displayEmployee()
print("Age: ",getattr(Tiny,'age', 'not find'));
print ("\n")
print ("Total Employee number: %d" % Employee.empCount)
print ("\n")

继承的子类,type也属于父类

isinstance 用来判断类型

hasattr(obj,attr)判断该类是否有此属性

getattr(obj,attr)获取该类的此属性

setattr(obj,attr,new_value)设置该类的某属性为多少


Python语言学习讲解十七:python之__gettattr__、__getattribute__和__setattr__详解

http://blog.csdn.net/windgs_yf/article/details/53409482 >>> print(testobj.__dict__) {'__methods__'...
  • Windgs_YF
  • Windgs_YF
  • 2016年12月01日 15:49
  • 1229

Python property,属性

参考资料 http://www.ibm.com/developerworks/library/os-pythondescriptors/        顾名思义,property用于生成一个属...
  • iCode0410
  • iCode0410
  • 2014年09月19日 19:31
  • 1564

Python 类 setattr、getattr、hasattr 的使用

#coding=utf-8 class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): sel...
  • qiuyu5999446
  • qiuyu5999446
  • 2015年11月18日 12:52
  • 518

python hasattr() getattr() setattr()函数的使用

hasattr(object,name):用于判断一个对象里中是否存在name这一特性.由测试结果可知,对象a里包含特性name和方法greet(),所以输出True,而不包含特性age,所以hasa...
  • lym152898
  • lym152898
  • 2016年06月02日 17:36
  • 2596

python的自省机制以及dir() | hasattr() | getattr() | setattr()的使用

(1)dir([obj]):  调用这个方法将返回包含obj大多数属性名的列表(会有一些特殊的属性不包含在内)。obj的默认值是当前的模块对象。 (2)hasattr(obj, attr):  这个方...
  • wangjianno2
  • wangjianno2
  • 2016年03月20日 04:37
  • 927

飘逸的python - property及实现lazy property

@property有什么用呢?表面看来,就是将一个方法用属性的方式来访问. 上代码,代码最清晰了. class Circle(object): def __init__(self, radiu...
  • u010180339
  • u010180339
  • 2014年10月09日 17:07
  • 3542

自定义组件之属性(Property)的性质(Attribute)介绍(一)

  ...
  • cuoguo1111
  • cuoguo1111
  • 2007年04月13日 14:46
  • 702

python 学习笔记——getattr hasattr setattr delattr

getattr(obj,name)  获得一个属性值 hasattr(obj,name)  判断是否有这个属性 setattr(obj,name,value) 新增属性 delattr(obj,...
  • thao6626
  • thao6626
  • 2015年01月20日 22:03
  • 440

python hasattr(),getattr(),setattr()

#!/usr/bin/env python3 # -*- coding: utf-8 -*-' a test module '__author__ = 'Zhang Shuai' class A():...
  • u013061183
  • u013061183
  • 2017年07月11日 12:00
  • 80

python:python对象属性及属性函数property()

http://blog.csdn.net/pipisorry/article/details/50708616python对象属性Python一切皆对象(object),每个对象都可能有多个属性(at...
  • pipisorry
  • pipisorry
  • 2016年02月21日 16:56
  • 1800
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python 类 setattr、getattr、hasattr 的使用
举报原因:
原因补充:

(最多只允许输入30个字)