zoukankan      html  css  js  c++  java
  • python 反射

    import timesss
    ##反射:根据字符串的形式去对象(模块)中操作其成员(查找/获取/删除/添加)

    #根据用户输入内容,导入模块(字符串形式导入模块)

    inp = input("请输入模块名:")
    res = __import__(inp)
    
    uu = res.md5("123456")
    print(uu)
    #字符串方式去模块中查找函数,并执行
    # getattr 以字符串形式去模块中寻找函数/全局变量
    inpfunc = input("请输入要执行的函数名;")
    func = getattr(res,inpfunc,'no found') # 去res模块中查找inpfunc函数,找不到则打印no found
    print(func())
    # hasattr() 判断某个模块中是否存在某个函数或全局变量
    u = hasattr(timesss,'name')
    print(u)
    #  setattr(object, name, value)
    #给模块增加一个全局变量:现有的或一个新的
    #成功返回none
    t = setattr(timesss,'sex','girl')
    print(t) #None
    m = hasattr(timesss,'sex')
    print(m)# True
    #delattr(object, name)删除模块中某个变量或者函数
    delattr(timesss,'sex')
    m = hasattr(timesss,'sex')
    print(m)#False
  • 相关阅读:
    C
    B
    D
    I
    B
    E
    B
    L
    H
    bzoj3276磁力 两种要求下的最大值:分块or线段树+拓扑
  • 原文地址:https://www.cnblogs.com/wuxinyan/p/8955247.html
Copyright © 2011-2022 走看看