- 浏览: 565130 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
转自:http://guoshiguan.iteye.com/blog/308674
python是一个脚本语言,它不象java一样有一个专门的包来处理反射。以下是我们来看看python是怎么做到类似java一样的反 射功能的。我在网上搜了一下,因为在网上没有很明确的文章说要怎么做,所以,我写了这篇,希望新手不要向我一样走弯路,因为是新手,所以,我在这里没能考 虑到异常的处理。
-、动态加载类
说到动态的加载类,那就不得不说,动态的加态模块。因为只能成功的加模了模块才能加载到类。我们可以用,以下的代码来动态的加载类
当我们动态的加载了这个模块后,我们就可以从这个模块中取得你要的类了,感觉上这个方法有点像java中从类中反射出方法。下以的代码可以
二、动态实例化类
得到了class对象之后,在python就可以很方便的得到他的对像,以下这代码
三、得到对象、类或模块中的所有属性方法
在java的反射中我们可以得到对象中的所有属性和方法,在python中,因为是脚本语言,所以我们要得到这个些属性方法更加的方便,我们可以用以下的代码获得类,对象,模块中的所有的属性的名称
我们得到这些属性的名称后,可以用上面得到class 的方法来获得这个对象里的所有属性
四、动态运行方法
动态的运行方法,我们也非常的方便,因为python是脚本语言,感觉起来很象javascript的方式来调用方法。
代码中objFunc是用getAttr从实例化后的对象中取得到function,而arrArgs是我们的参数,和javascript一样,他是数组一样的对象。
有了这些方法,我们就可以做和java反射一样做的事了,我在网上找到了一个模块,小改了一下,使得用这个模块可以很方便的用类名实例化一个实例和运行这个实例中的方法,如果大家需要可以down下来看看
发表评论
-
Django静态文件处理总结
2015-05-13 13:59 538原文地址:http://blog.csdn.net/wenxu ... -
原 异步非阻塞机制与多线程阻塞机制在处理并发耗时等待任务上的效率对比分析
2015-04-21 10:05 696原文地址:http://my.oschina.net/mall ... -
Django报错“_mysql_exceptions.Warning: Incorrect string value: ‘\xE6\xB5…’ for colu
2015-03-25 15:50 1000原文地址:http://www.tuicool.com/art ... -
django使用mysql时的中文存储问题 - [python]
2015-03-25 15:36 1505原文地址:http://www.blogbus.com/831 ... -
NIO学习笔记——解决“服务器端cpu占用率高”
2015-01-29 10:17 991原文地址:http://blog.csdn ... -
python 调用 php 实例
2014-06-23 14:09 2627原文地址:http://hi.baidu.com/ji_hai ... -
php调用python
2014-06-23 14:08 794原文地址:http://blog.163.com/darwin ... -
uwsgi python ssl编译问题记录
2014-06-19 14:24 878uwsgi python ssl编译问题记录 发表于6个月前( ... -
python2.7 安装ssl模块
2014-06-19 14:22 3221python2.7 安装ssl模块 2012-02-28 13 ... -
Centos6.5下升级Python 2.6.6 to python 2.7.3
2014-06-19 13:53 656Centos6.5下升级Python 2.6.6 to pyt ... -
翻译:redis-py 说明文件 (2012-05-30 17:55:52)
2014-06-04 10:22 459翻译:redis-py 说明文件 (2012-05-30 17 ... -
关于Redis的Python客户端的连接池问题
2014-06-04 10:21 626关于Redis的Python客户端的连接池问题 在一 ... -
Windows下 Python 安装包的配置
2014-03-22 10:23 6571、下载安装 Python python-2.7.2.msi ... -
[翻译]深入理解Tornado——一个异步web服务器
2014-03-07 15:16 1643[翻译]深入理解Tornado— ... -
多版本Python共存[支持使用pip安装包]
2014-02-28 10:59 1146多版本Python共存[支持使 ... -
Django 数据库访问性能优化
2013-09-05 15:22 684Django 数据库访问性 ... -
Python六大开源框架对比:Web2py略胜一筹
2013-08-21 11:29 829Python是一门动态、面向对象语言。其最初就是作为一门面向 ... -
Python 代码调试技巧
2013-08-15 18:11 874使用 pdb 进行调试 pdb 是 python 自带的 ... -
python urlencode 编码
2013-07-05 13:28 965urlencode 调用方法 urlencode的参 ... -
window下使用virtualenv
2013-06-30 15:26 1113--- window下使用virtualenv -- ...
相关推荐
这种动态类型的行为使得Java在某种程度上具有了类似于Perl、Python和Ruby等动态语言的灵活性。 Java反射机制的核心是`java.lang.Class`类,它代表了在运行时的Java类和接口。每个Java类或接口都有一个对应的`Class`...
Java反射机制是Java语言的重要组成部分,它提供了强大的动态操作能力,使得Java应用程序能够在运行时动态地获取类的信息并操纵类的对象。虽然反射机制带来了灵活性和便利性,但也可能会影响程序的性能和安全性,因此...
Java反射机制是Java编程语言中的一个重要特性,它赋予了程序在运行时检查和操作类、接口、字段和方法的能力。这种动态类型的行为使得Java在某种程度上具有了类似于Perl、Python和Ruby等动态语言的特性,虽然它本身是...
Java API文档还涵盖了反射(Reflection)和注解(Annotation)等高级特性,帮助开发者深入理解Java的内在机制。 最后是Python2的API文档。Python2虽然已经停止更新,但在许多项目中仍被广泛使用。Python以其简洁...
2. **数据类型**:Python有丰富的内置类型,如列表、元组、字典等,而Java的集合框架提供了类似的功能。编译器需要将Python的数据结构映射到对应的Java类型。 3. **函数和类**:Python的函数可以作为对象,支持闭包...
- **性能开销**:反射操作通常比直接执行相应操作要慢,因为反射涉及到了解释过程。 - **安全问题**:如果错误地使用反射,可能会导致程序的不稳定性增加。 #### 四、反射相关的API介绍 反射机制的核心API主要包括...
在许多面向对象的语言中,如Java、C#和Python,反射都被广泛应用。然而,C++作为一门静态类型语言,其标准库并没有内置反射功能。但通过一些技巧和第三方库,我们可以实现类似的功能。以下是对"C++实现反射demo"的...
- **Python3**: `range` 类似 Python2 的 `xrange`。 #### 20. 文件操作时 xreadlines 和 readlines 的区别? - **Python2**: `xreadlines` 类似 `readlines` 但返回迭代器。 - **Python3**: 已经移除 `xreadlines...
通常,动态语言如Java和Python提供了内置的反射机制,但在静态类型的C++中,反射并不是标准库的一部分。不过,开发者们通过一些技巧,如宏预处理器(宏)和元编程,可以模拟实现类似的功能。本文将深入探讨如何使用...
- **简单性**: 类似于C/C++,但更纯净,去除了复杂的特性如指针。 - **面向对象**: 纯粹的面向对象语言。 - **分布式**: 支持网络通信协议,能够通过URL访问网络资源。 - **健壮性**: 强调错误检查,避免了常见的...
通常,动态语言如Java和Python内置了反射机制,但C++作为静态类型语言,其标准库并没有提供直接的支持。然而,通过一些技巧和第三方库,我们可以在C++中实现类似的功能。 ### C++反射基础 C++17引入了`std::any`和...
JShell,全称为Java Shell,是Java 9及更高版本引入的一个交互式命令行工具,用于运行单行Java代码,类似于Python的交互式解释器。在安全测试中,我们可以利用JShell来执行JavaScript代码,尤其是在XSS攻击的场景下...
import sys # 导入sys模块,使用sys.modules获取模块中的所有内容,类似反射的功能 from UserDict import UserDict # 这个表示从UserDict类中导入UserDict,类似于Java中的 import UserDict.UserDict def ...
在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块。如下: def createInstance(module_...
NIO (New I/O) 提供了非阻塞I/O操作的能力,而 JUC (Java Util Concurrency) 包含了一系列线程安全的数据结构和工具类。 **14. Lambda** Lambda 表达式允许你以更简洁的方式定义接口实现。这对于函数式编程风格的...
2. `classmethod()`:装饰器,表示这是一个类方法,可以在类或实例上调用,类似于Java中的`static`方法。 3. `compile(source, filename, mode[, flags[, dont_inherit]])`:将源代码编译为代码对象,可执行或求值。...