python中反射用法实例

2015-04-18  来源:本站原创  分类:Python  人气:14 

这篇文章主要介绍了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中反射用法实例 2015-04-18

    这篇文章主要介绍了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

  • Python中__call__用法实例 2014-01-26

    这篇文章主要介绍了Python中__call__用法,需要的朋友可以参考下 本文实例讲述了Python中__call__的用法,分享给大家供大家参考之用.具体方法如下: 先来看看如下示例代码: #call.py 一个class被载入的情况下. class Next: List = [] def __init__(self,low,high) : for Num in range(low,high) : self.List.append(Num ** 2) def __call__(self,Nu

  • Python中unittest用法实例 2014-10-04

    这篇文章主要介绍了Python中unittest用法,较为详细的讲述了unittest中相关函数的用法及完整实例,需要的朋友可以参考下 本文实例讲述了Python中unittest的用法,分享给大家供大家参考.具体用法分析如下: 1. unittest module包含了编写运行unittest的功能,自定义的test class都要集成unitest.TestCase类,test method要以test开头,运行顺序根据test method的名字排序,特殊方法: ① setup():每个测

  • python中尾递归用法实例详解 2014-12-24

    这篇文章主要介绍了python中尾递归用法,较为详细的分析了尾递归原理与相关使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中尾递归用法.分享给大家供大家参考.具体分析如下: 如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的.当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归.尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码

  • python中xrange用法分析 2014-03-14

    这篇文章主要介绍了python中xrange用法,实例分析了xrange的功能.作用以及与range在使用中的区别,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xrange(8) >>> print x[0] 0 >>> print x[7] 7 >>> pri

  • python类继承用法实例分析 2014-03-29

    这篇文章主要介绍了python类继承用法实例分析,以实例的形式详细讲述了Python类继承的实现方法及相关的工作原理,非常实用,需要的朋友可以参考下 本文实例讲述了python类继承用法.分享给大家供大家参考.具体方法如下: #!/usr/bin/python # Filename: inherit.py class SchoolMember: '''Represents any school member.''' def __init__(self, name, age): self.name

  • Python pickle模块用法实例 2014-11-05

    这篇文章主要介绍了Python pickle模块用法实例,python的pickle模块实现了基本的数据序列和反序列化,需要的朋友可以参考下 python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去.

  • jquery中change()用法实例分析 2013-10-19

    这篇文章主要介绍了jquery中change()用法,实例分析了change的功能.定义及具体的使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例分析了jquery中change()的用法.分享给大家供大家参考.具体分析如下: change()当元素的值发生改变时,会发生 change 事件.该事件仅适用于文本域(text field),以及 textarea 和 select 元素. 当用于 select 元素时,change 事件会在选择某个选项时发生.当用于 text field

  • python中cPickle用法例子分享 2013-11-06

    这篇文章主要介绍了python中cPickle用法例子,有需要的朋友可以参考一下 在python中,一般可以使用pickle类来进行python对象的序列化,而cPickle提供了一个更快速简单的接口,如python文档所说的:"cPickle -- A faster pickle". cPickle可以对任意一种类型的python对象进行序列化操作,比如list,dict,甚至是一个类的对象等.而所谓的序列化,我的粗浅的理解就是为了能够完整的保存并能够完全可逆的恢复.在cPickle

  • JQuery中serialize()用法实例分析 2013-11-22

    这篇文章主要介绍了JQuery中serialize()用法,实例分析了serialize()方法的功能.定义及相关使用技巧,需要的朋友可以参考下 本文实例讲述了JQuery中serialize()用法.分享给大家供大家参考.具体分析如下: 一.serialize()定义和用法: serialize()方法通过序列化表单值,创建标准的URL编码文本字符串,它的操作对象是代表表单元素集合的jQuery 对象.你可以选择一个或多个表单元素(比如input或文本框),或者 form 元素本身.序列化的值

  • php中fsockopen用法实例 2013-11-30

    这篇文章主要介绍了php中fsockopen用法,实例分析了fsockopen的创建.写入及关闭等具体流程,需要的朋友可以参考下 本文实例讲述了php中fsockopen用法.分享给大家供大家参考. 具体实现方法如下: $fp=fsockopen("127.0.0.1",80); //打开数据流 if(!$fp) //如果打开出错 { echo "unable to openn"; //输出内容 } else //如果成功打开 { fwrite($fp,"

  • jQuery中animate用法实例分析 2013-12-08

    这篇文章主要介绍了jQuery中animate用法,实例分析了animate的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jQuery中animate用法.分享给大家供大家参考.具体如下: 这是一个简单的animate函数尝试.代码如下: <script type="text/javascript"> $(document).ready(function(){ $(".side-box h3").toggle(function()

  • Python中decorator使用实例 2014-03-01

    这篇文章主要介绍了Python中decorator使用实例,本文讲解了如何调用decorator.decorator函数的定义.decorator的应用场景等内容,需要的朋友可以参考下 在我以前介绍 Python 2.4 特性的Blog中已经介绍过了decorator了,不过,那时是照猫画虎,现在再仔细描述一下它的使用. 关于decorator的详细介绍在 Python 2.4中的What's new中已经有介绍,大家可以看一下. 如何调用decorator 基本上调用decorator有两种形

  • python中的多重继承实例讲解 2014-03-12

    这篇文章主要介绍了python中的多重继承实例讲解,本文着重讲解寻找父类的顺序,分为经典类和新式类,需要的朋友可以参考下 python和C++一样,支持多继承.概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性. 对经典类和新式类来说,属性的查找顺序是不同的.现在我们分别看一下经典类和新式类两种不同的表现: 经典类: #! /usr/bin/python # -*- coding:utf-8 -*- class

  • C#中FormsAuthentication用法实例 2014-06-12

    这篇文章主要介绍了C#中FormsAuthentication用法实例,本文直接给出实现代码,需要的朋友可以参考下 using System; using System.Web; using System.Web.Security; namespace AuthTest { public class Authentication { /// <summary> /// 设置用户登陆成功凭据(Cookie存储) /// </summary> /// <param name=&q

  • PHP类的反射用法实例 2014-06-28

    这篇文章主要介绍了PHP类的反射用法,实例讲述了反射类的常用操作,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP类的反射用法.分享给大家供大家参考.具体实现方法如下: 该例实现对于每个频道获取相应的类来执行相应的操作.具体如下: foreach($this->chs as $ch) { $className = $this->chsMap[$ch]; if($className) { // 如果是合法的类名 // 获取反射类 $class = new ReflectionC

  • JavaScript对象反射用法实例 2014-08-26

    这篇文章主要介绍了JavaScript对象反射用法,实例分析了反射DOM对象和自定义对象的具体用法,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了JavaScript对象反射用法.分享给大家供大家参考.具体如下: 这里讲述JavaScript对象反射用法,涉及反射DOM对象和自定义对象 <html> <head> <title>JavaScript反射工具</title> <style type="text/css"&g

  • jQuery+ajax中getJSON() 用法实例 2014-08-27

    这篇文章主要介绍了jQuery+ajax中getJSON() 用法实例,需要的朋友可以参考下 实例 从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据: $.getJSON("test.js", function(json){ alert("JSON Data: " + json.users[3].name); }); 定义和用法 通过 HTTP GET 请求载入 JSON 数据. 在 jQuery 1.2 中,您可以通过使用

  • C#中抛出异常用法实例 2014-09-07

    这篇文章主要介绍了C#中抛出异常用法,实例分析了C#使用throw抛出异常的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#中抛出异常用法.分享给大家供大家参考.具体如下: C#中可以通过throw抛出一个指定的异常 private void DoProcess(string value) { if (string.IsNullOrEmpty(value)) { throw new ArgumentNullException("value","para

  • .NET中StringBuilder用法实例分析 2014-12-19

    这篇文章主要介绍了.NET中StringBuilder用法,实例分析了StringBuilder在进行字符串拼接时的使用技巧,需要的朋友可以参考下 本文实例讲述了.NET中StringBuilder用法.分享给大家供大家参考.具体分析如下: 为什么要使用StringBuilder 为什么使用StringBuilder要从string对象的特性说起. string对象在进行字符串拼接时,因为字符串的不可变性,string对象会每次拼接,都会复制一个副本出来进行运算,而本身的串仍然留在内存中,大量的