• 类的反射


    类反射:
       通过字符串映射或修改程序运行时的状态,属性,方法
     
       有以下4个方法:
         1. hasattr(obj, str)
            判断obj对象是否存在str方法
     
         2. getattr(obj, str)
            获取obj对象的内存地址
     
         3.  setattr(obj, str_name, func_name)
            将方法func_name装配成obj的str_name方法
     
         4. delattr(obj, str)
            将对象obj中的str删除掉。
     
     例1: 
     class Dog(object):
      def __init__(self, name):
        self.name = name
     
      def eat(self, food):
          print("%s is eating %s...." % (self.name, food))
     
     d = Dog("Kitty")
     sel = input(">>:").strip()
     
     if hasattr(d, sel):
      func = getattr(d, sel)
      func("fruit")  
      
     例2:   
     class Dog(object):
      def __init__(self, name):
        self.name = name
     
      def eat(self, food):
        print("%s is eating %s...." % (self.name, food))
     
     d = Dog("Kitty")
     sel = input(">>:").strip()
     
     def bulk(self):
      print("%s is talking...."% self.name)
     
     if hasattr(d, sel):
      func = getattr(d, sel)
      func("fruit")
     else:
      setattr(d, sel, bulk)
      func = getattr(d, sel)
      func(d)
     
     输出:
     >>:gg
     Kitty is talking.... 
  • 相关阅读:
    c#_表单处理方式
    C#_在.net中序列化读写xml方法的总结
    Jquery_异步上传文件多种方式归纳
    C#_Jquery无刷新上传
    构造方法的作用
    ssh项目问题01,为创建数据库抛出的异常
    成员方法的使用及其调用
    静态页面的使用和操作
    oa项目环境搭建的操作步骤详解
    写做顺序
  • 原文地址:https://www.cnblogs.com/brace2011/p/9291529.html
Copyright © 2020-2023  润新知