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

    通过字符串的形式导入模块

    通过字符串的形式,去模块中寻找制定的函数,并执行getattr(模块名,函数名,默认值)

    通过字符串的形式,去模块中设置东西setattr(模块名,函数名/变量名,lambda表达式/变量值)

    通过字符串的形式,去模块中删除东西delattr(模块名,函数名)

    根据字符串的形式去对象(某个模块)中操作其成员

    1 inp = input('请输入模块名:')
    2 inp_func = input('请输入要执行的函数:')
    3 dd = __import__(inp) # 以字符串的形式导入模块
     # from xxx.xx import oo 等价于
    __import__('xxx.xx.oo',fromlist = True)
    4 target_func = getattr(dd,inp_func,,None) # 以字符串的形式在模块中寻找函数 如果没有找到返回None
    5 r = target_func()
    6 print(r)
    # 内存中操作
    hasattr(模块名,函数名)# 判断函数是否存在
    setattr(模块名,函数名/变量名,lambda表达式/变量值)
    delattr(模块名,函数名)

    结果:

    请输入模块名:commons
    请输入要执行的函数:f1
    F1

  • 相关阅读:
    纸牌游戏----小猫钓鱼
    数据结构-----栈
    浅谈队列
    排序算法实例
    排序算法之------快速排序
    排序算法之----冒泡排序
    Visual Studio-基本使用
    C++-GUID from string
    OS-Windows CMD生成文件夹目录结构
    OS-Windows10 DownLoad
  • 原文地址:https://www.cnblogs.com/Erick-L/p/6431444.html
Copyright © 2011-2022 走看看