Python反射用法实例简析

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

class Person:
  def __init__(self):
    self.name = "zjgtan"
  def getName(self):
    return self.name

反射的简单含义:

通过类名获得类的实例对象

通过方法名得到方法,实现调用

反射方法一:

from person import Person
theObj = globals()["Person"]()
print theObj.getName()

反射方法二:

module = __import__("person")
theObj = getattr(module, "Person")()
print theObj.getName()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

您可能感兴趣的文章:

  • 跨平台python异步回调机制实现和使用方法
  • python之import机制详解
  • python中的五种异常处理机制介绍
  • python中反射用法实例
  • Python中的自省(反射)详解
  • Python多进程机制实例详解
  • 简单谈谈python的反射机制
  • python异常和文件处理机制详解
  • Python 关于反射和类的特殊成员方法
(0)

相关推荐

  • Python 关于反射和类的特殊成员方法

    反射 反射即想到4个内置函数分别为:getattr.hasattr.setattr.delattr  获取成员.检查成员.设置成员.删除成员 class Dog(object): def __init__(self,name): self.name = name def eat(self): print("%s is eating..."%self.name) def run(): print("runing ....") d = Dog("lucy&qu

  • 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__(mo

  • python中的五种异常处理机制介绍

    从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理.之所以这样,是因为不了解.这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项. <Dive into Python>并没有专门介绍异常处理,只是例子中用到的时候略微说明了一下.今天下载<Learn Python>,直接进异常处理这块.这一部分有四章,第一章讲解异常处理的一般使用方法,后面的章节深入地讨论其机制.我目前只看了第一章,先学会用,以后有必要的时候再扩展阅读. p

  • 跨平台python异步回调机制实现和使用方法

    1 将下面代码拷贝到一个文件,命名为asyncore.py 复制代码 代码如下: import socketimport selectimport sys def ds_asyncore(addr,callback,timeout=5):    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)    s.connect(addr)    r,w,e = select.select([s],[],[],timeout)    if r:     

  • Python多进程机制实例详解

    本文实例讲述了Python多进程机制.分享给大家供大家参考.具体如下: 在以前只是接触过PYTHON的多线程机制,今天搜了一下多进程,相关文章好像不是特别多.看了几篇,小试了一把.程序如下,主要内容就是通过PRODUCER读一个本地文件,一行一行的放到队列中去.然后会有相应的WORKER从队列中取出这些行. import multiprocessing import os import sys import Queue import time def writeQ(q,obj): q.put(o

  • 简单谈谈python的反射机制

    对编程语言比较熟悉的朋友,应该知道"反射"这个机制.Python作为一门动态语言,当然不会缺少这一重要功能.然而,在网络上却很少见到有详细或者深刻的剖析论文.下面结合一个web路由的实例来阐述python的反射机制的使用场景和核心本质. 一.前言 def f1(): print("f1是这个函数的名字!") s = "f1" print("%s是个字符串" % s) 在上面的代码中,我们必须区分两个概念,f1和"f1

  • python之import机制详解

    本文详述了Python的import机制,对于理解Python的运行机制很有帮助! 1.标准import: Python中所有加载到内存的模块都放在 sys.modules .当 import 一个模块时首先会在这个列表中查找是否已经加载了此模块,如果加载了则只是将模块的名字加入到正在调用 import 的模块的 Local 名字空间中.如果没有加载则从 sys.path 目录中按照模块名称查找模块文件,模块可以是py.pyc.pyd,找到后将模块载入内存,并加到 sys.modules 中,并

  • Python中的自省(反射)详解

    首先通过一个例子来看一下本文中可能用到的对象和相关概念. 复制代码 代码如下: #coding:  UTF-8 import sys #  模块,sys指向这个模块对象 import inspect def foo(): pass #  函数,foo指向这个函数对象   class Cat(object): #  类,Cat指向这个类对象     def __init__(self,  name='kitty'):         self.name = name     def sayHi(s

  • python异常和文件处理机制详解

    本文实例讲述了python异常和文件处理机制.分享给大家供大家参考,具体如下: 1 异常处理 Python的异常用 try except finally 来处理. 并且except后还可以跟 else . 引发异常用 raise 如果抛出的异常没有被处理. 在Python IDE中是显示一些红色的信息. 在真正的Python程序运行时. 会导致程序终止. 在以前我们已经见到过一下几种异常: 在 Dictionary 中如果使用的 key 不存在. 会引发 KeyError 异常. 如: >>&

  • Python反射用法实例简析

    本文实例讲述了Python反射用法.分享给大家供大家参考,具体如下: class Person: def __init__(self): self.name = "zjgtan" def getName(self): return self.name 反射的简单含义: 通过类名获得类的实例对象 通过方法名得到方法,实现调用 反射方法一: from person import Person theObj = globals()["Person"]() print th

  • javascript闭包(Closure)用法实例简析

    本文实例讲述了javascript闭包(Closure)用法.分享给大家供大家参考,具体如下: closure被翻译成"闭包",感觉这东西被包装的太学术化.下面参考书本和网上资源简单探讨一下(理解不当之处务请留意). 1.什么是闭包 官方的回答:所谓"闭包",指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 看了上面的定义,如果你不是高手,我坚信你会和我一样愤怒的质问:这tmd是人话吗? 要理解闭包,还是代码

  • python网络编程实例简析

    本文实例讲述了python网络编程,分享给大家供大家参考. 具体方法如下: 服务端代码如下: from SocketServer import(TCPServer as TCP, StreamRequestHandler as SRH) from time import ctime HOST = '' PORT = 21567 ADDR = (HOST, PORT) class MyRequestHandle(SRH): def handle(self): print 'connecting f

  • Android复选框对话框用法实例简析

    本文实例分析了Android复选框对话框用法.分享给大家供大家参考,具体如下: /** * 创建筛选复选框对话框 * @param guoguanglist 联赛名 * @param flags 是否选择 * @create_time 2011-10-26 下午3:59:54 */ private void initFilterDialog(String[] iNamelist, final boolean[] iFlags) { Builder builder = new android.ap

  • PHP中list()函数用法实例简析

    本文实例讲述了PHP中list()函数用法.分享给大家供大家参考,具体如下: PHP中的list() 函数用于在一次操作中给一组变量赋值. 注意:这里的数组变量只能为数字索引的数组,且假定数字索引从 0 开始. list()函数定义如下: list(var1,var2...) 参数说明: var1      必需.第一个需要赋值的变量. var2,...  可选.更多需要赋值的变量. 示例代码如下: <?php //$arr=array('name'=>'Tom','pwd'=>'123

  • android开发之listView组件用法实例简析

    本文实例讲述了android开发之listView组件用法.分享给大家供大家参考,具体如下: 关于Android ListView组件中android:drawSelectorOnTop含义 android:drawSelectorOnTop="true"  点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到. android:drawSelectorOnTop="false" 点击某条记录不放,颜色会在记录的后面,成为背景色,但

  • MySQL中USING 和 HAVING 用法实例简析

    本文实例讲述了MySQL中USING 和 HAVING 用法.分享给大家供大家参考,具体如下: USING 用于表连接时给定连接条件(可以理解为简写形式),如 SELECT * FROM table1 JOIN table2 ON table1.id = table2.id 使用 USING 可以写为 SELECT * FROM table1 JOIN table2 USING(id) HAVING 引入 HAVING 是因为 WHERE 无法和统计函数一起使用 如表 order (定单)有如下

  • Android webview用法实例简析

    本文简单分析了Android webview用法.分享给大家供大家参考,具体如下: 在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件. WebView使用: (1)添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误. (2)在要Activity中生成一个WebView组件: 复制代码 代码如下: WebVi

  • python多线程用法实例详解

    本文实例分析了python多线程用法.分享给大家供大家参考.具体如下: 今天在学习尝试学习python多线程的时候,突然发现自己一直对super的用法不是很清楚,所以先总结一些遇到的问题.当我尝试编写下面的代码的时候: 复制代码 代码如下: class A():     def __init__( self ):         print "A" class B( A ):     def __init__( self ):         super( B, self ).__in

随机推荐