python中反射用法实例

 更新时间:2015年03月27日 09:48:43   作者:songguo  
这篇文章主要介绍了python中反射用法,实例分析了Python中反射的原理与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了python中反射用法。分享给大家供大家参考。具体如下:

import sys, types,new
def _get_mod(modulePath):
  try:
    aMod = sys.modules[modulePath]
    if not isinstance(aMod, types.ModuleType):
      raise KeyError
  except KeyError:
    # The last [''] is very important!
    aMod = __import__(modulePath, globals(), locals(), [''])
    sys.modules[modulePath] = aMod
  return aMod
def _get_func(fullFuncName):
  """Retrieve a function object from a full dotted-package name."""
  # Parse out the path, module, and function
  lastDot = fullFuncName.rfind(u".")
  funcName = fullFuncName[lastDot + 1:]
  modPath = fullFuncName[:lastDot]
  aMod = _get_mod(modPath)
  aFunc = getattr(aMod, funcName)
  # Assert that the function is a *callable* attribute.
  assert callable(aFunc), u"%s is not callable." % fullFuncName
  # Return a reference to the function itself,
  # not the results of the function.
  return aFunc
def _get_Class(fullClassName, parentClass=None):
  """Load a module and retrieve a class (NOT an instance).
  If the parentClass is supplied, className must be of parentClass
  or a subclass of parentClass (or None is returned).
  """
  aClass = _get_func(fullClassName)
  # Assert that the class is a subclass of parentClass.
  if parentClass is not None:
    if not issubclass(aClass, parentClass):
      raise TypeError(u"%s is not a subclass of %s" %
              (fullClassName, parentClass))
  # Return a reference to the class itself, not an instantiated object.
  return aClass
def applyFuc(obj,strFunc,arrArgs):
  objFunc = getattr(obj, strFunc)
  return apply(objFunc,arrArgs)
def getObject(fullClassName):
  clazz = _get_Class(fullClassName)
  return clazz()
if __name__=='__main__':
  aa=getObject("inetservices.services.company.Company")  
  bb=applyFuc(aa, "select", ['select * from ngsys2',None])
  print bb

希望本文所述对大家的Python程序设计有所帮助。

相关文章

  • python爬虫豆瓣网的模拟登录实现

    python爬虫豆瓣网的模拟登录实现

    这篇文章主要介绍了python爬虫豆瓣网的模拟登录实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python self用法详解

    Python self用法详解

    这篇文章主要介绍了Python self用法的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • 使用matplotlib中scatter方法画散点图

    使用matplotlib中scatter方法画散点图

    这篇文章主要为大家详细介绍了使用matplotlib中scatter方法画散点图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • python用requests实现http请求代码实例

    python用requests实现http请求代码实例

    这篇文章主要介绍了python用requests实现http请求过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 在pytorch 中计算精度、回归率、F1 score等指标的实例

    在pytorch 中计算精度、回归率、F1 score等指标的实例

    今天小编就为大家分享一篇在pytorch 中计算精度、回归率、F1 score等指标的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Django部署到服务器后无法获取到静态元素 The requested resource was not found on this server(问题及解决方案)

    Django部署到服务器后无法获取到静态元素 The requested resource

    写了一个Django项目,部署到云主机后,访问发现图片无法访问,报错The requested resource was not found on this server,下面给大家介绍Django部署到服务器后无法获取到静态元素The requested resource was not found on this server(问题及解决方案),需要的朋友可以参考下
    2024-02-02
  • python和php哪个更适合写爬虫

    python和php哪个更适合写爬虫

    这篇文章主要介绍了python和php哪个更适合写爬虫的相关对比知识点,需要的朋友们可以学习下。
    2020-06-06
  • Pandas数据分析-pandas数据框的多层索引

    Pandas数据分析-pandas数据框的多层索引

    这篇文章主要介绍了Pandas数据分析-pandas数据框的多层索引,pandas数据框针对高维数据,也有多层索引的办法去应对具体详细的内容介绍需要的小伙伴可以参考一下
    2022-08-08
  • 利用anaconda保证64位和32位的python共存

    利用anaconda保证64位和32位的python共存

    这篇文章主要为大家详细介绍了利用anaconda保证64位和32位的python共存,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • python3 pillow生成简单验证码图片的示例

    python3 pillow生成简单验证码图片的示例

    本篇文章主要介绍了python3 pillow生成简单验证码图片的示例,非常具有实用价值,需要的朋友可以参考下
    2017-09-09

最新评论