zoukankan      html  css  js  c++  java
  • 反射

    python提供了四个关于反射的四个内置函数分别是:

    • getattr 获取指定字符串名称的对象属性
    • setattr 为对象设置一个对象
    • hasattr 判断对象是否有对应的对象(字符串)
    • delattr 删除指定属性
    class A:
        sex = ""
        def get_name(self):
            return "get_name方法"
    
        def get_age(self):
            return "get_age方法"
    
    s = hasattr(A,"get_name") #True 实例和类都可以作用
    m = hasattr(A(),"get_name") #True
    
    r = getattr(A(),"get_name")
    print(r())  #get_name方法 调用get_name方法
    print(getattr(A,"sex"))  #
    setattr(A,"sex","") #设置类的属性
    print(getattr(A,"sex")) #
    
    delattr(A,"get_name") #删除A类中的属性
    print(hasattr(A,"get_name"))  #False

    通过字符串导入模块

    temp = "re"
    model = __import__(temp)
    
    
    def main():
        txt = "hj123uo"
        pattern = model.compile(r"[0-9]+")
        print(model.search(pattern, txt).group())
    
    
    if __name__ == '__main__':
        main()
  • 相关阅读:
    【Lua】LuaForWindows_v5.1.4-46安装失败解决方案
    【C++】指针引发的bug
    【C++】指针引发的bug
    【C++】位操作(3)-获取某位的值
    bzoj1444
    bzoj1758
    bzoj3091
    poj1741 bzoj2152
    bzoj2125 3047
    bzoj3669
  • 原文地址:https://www.cnblogs.com/qqxin/p/13046430.html
Copyright © 2011-2022 走看看