zoukankan      html  css  js  c++  java
  • Python 类 setattr、getattr、hasattr 的使用

    版本 Python 33

    #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,  "
    Salary: ", 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 ("
    ")
    
    print ("实例 Employee 类的第二个对象 Tiny")
    print ('Tiny 是否存在age属性:',hasattr(Tiny,'age'))
    Tiny.displayEmployee()
    print("Age: ",getattr(Tiny,'age', 'not find'));
    
    
    print ("
    ")
    print ("Total Employee number: %d" % Employee.empCount)
    print ("
    ")

    运行结果:

    实例 Employee 类的第一个对象 Xiaoxiao 
    Xiaoxiao 是否存在age属性: True
    Name :  Xiaoxiao 
    Salary:  2000
    Age:  21
    
    
    实例 Employee 类的第二个对象 Tiny
    Tiny 是否存在age属性: False
    Name :  Tiny 
    Salary:  5000
    Age:  not find
    

      

  • 相关阅读:
    Git 数据是怎么存储的
    技术管理规划-路径跟资源
    技术管理规划-如何规划团队的架构
    技术管理规划-如何设定团队的目标
    技术管理规划-设定团队的职能
    springboot实践1
    spring的事件机制实战
    Apollo的基本概念和集成实战
    spring的事件
    ELK的简单安装使用
  • 原文地址:https://www.cnblogs.com/enjoyco/p/4371255.html
Copyright © 2011-2022 走看看