关闭

Python 类 setattr、getattr、hasattr 的使用

382人阅读 评论(0) 收藏 举报
#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)设置该类的某属性为多少


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2373次
    • 积分:67
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:14篇
    • 译文:0篇
    • 评论:0条
    文章存档