zoukankan      html  css  js  c++  java
  • 面向对象_反射

    反射

    hasattr()函数用于判断对象是否包含对应的属性,返回布尔值,有的话返回True没有返回False

    class Person(object):
        city = "beijing"
    
        def __init__(self, name):
            self.name = name
    
        def talk(self):
            print("{} are you ok".format(self.name))
    
    
    p1 = Person("李大伟")
    print(hasattr(p1, "address"))  # False
    print(hasattr(p1, "city"))  # True
    getattr()返回一个对象的属性值
    获取对象的属性和方法,有则返属性,无则返回默认值,默认值可以自己设置
    class Person(object):
        city = "beijing"
    
        def __init__(self, name):
            self.name = name
    
        def talk(self):
            print("{} are you ok".format(self.name))
    
    
    p1 = Person("李大伟")
    print(getattr(p1, "name"))  # 获取属性
    print(getattr(p1, "talk"))  # 获取方法的内存地址
    print(getattr(p1, "speak", "无此属性"))  # 没有此属性
    setattr 给一个对象设置属性
    delattr 给一个对象删除属性
    class Person(object):
        city = "beijing"
    
        def __init__(self, name):
            self.name = name
    
        def talk(self):
            print("{} are you ok".format(self.name))
    
    
    p1 = Person("李大伟")
    setattr(p1, "speak", "chinese")
    
    print(p1.__dict__)  # {'name': '李大伟', 'speak': 'chinese'}
    
    delattr(p1, "name")
    print(p1.__dict__)  # {'speak': 'chinese'}
  • 相关阅读:
    pl sql 编程
    maven(一) maven到底是个啥玩意~
    Oracle 数据库管理员
    Oracle 常用函数
    Oracle 事务
    Oracle 分页
    java String类
    java 方法
    java 数组
    java 跨平台 数据类型 修饰符 程序结构
  • 原文地址:https://www.cnblogs.com/ligiao/p/11462894.html
Copyright © 2011-2022 走看看