易截截图软件、单文件、免安装、纯绿色、仅160KB

Python和Decorator(装饰器)模式

先给出一个四人团对
Decorator mode
的定义:
动态地
给一个
对象
添加一些
额外的职责

 
再来说说这个模式的好处:认证,权限检查,记日志,检查参数,加锁,等等等等,这些功能和系统业务无关,但又是系统所必须的,说的更明白一点,就是面向方面的编程(
AOP
)。
AOP
把与业务无关的代码十分干净的从系统中切割出来,但是
Decorator mode
的强大远不止于此,本文的重点在于
Decorator mode

Python
中的应用,所以就不再过多描述
Decorator mode
本身了,要想深入了解该模式,请参考四人团的经典之作《设计模式》。
 

Python

Decorator mode
可以按照像其它编程语言如
C++, Java
等的样子来实现,但是
Python
在应用
装饰
概念方面的能力上远不止于此,
Python
提供了一个语法和一个编程特性来加强这方面的功能。
Python
提供的语法就是装饰器语法
(decorator)
,如下:
@aoo
def 
foo(): pass
 
def 
aoo(fn):
       
return fn
这里不对装饰器语法做过多的解释,因为装饰器语法也是基于我将要介绍的另一个编程特性,当我介绍完另一个编程特性后,相信你会对装饰器语法有更深入的认识。
 
一个十分重要的编程特性“闭包”
(closure)
隆重登场(题外话:据说“闭包”已经进入
java
下一版的特性候选列表了)

Python

PHP

Perl

Ruby

JavaScript
等动态语言中,都已经实现了闭包特性,
为什么这个特性那么重要呢?我们先来看看它的通俗一些的定义:
OO编程范式中的对象是“整合了函数的数据对象”,那么闭包就是“整合了数据的函数对象”
源文档 <http://blog.csdn.net/muzisoft2008/archive/2009/03/30/4036744.aspx
>
借用一个非常好的说法来做个总结(注
4
):对象是附有行为的数据,而闭包是附有数据的行为。
源文档 <http://www.ibm.com/developerworks/cn/linux/l-cn-closure/index.html
>
 
这篇文章更详细的介绍了闭包
闭包的概念、形式与应用
源文档 <http://www.ibm.com/developerworks/cn/linux/l-cn-closure/index.html
>
 
 
下面左边的
foo1
只是一个普通的内嵌函数,而右边的
boo
则是一个闭包,
def 
foo(x):
      &


相关文档:

Python 字符串


Python 字符串
字符串是 字符的序列 。字符串基本上就是一组单词。
我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内容。下面告诉你如何在Python中使用字符串。
使用单引号(')
你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。 ......

python学习(1)-字典 (Dictionary)

   
字典(Dictionary)是一种映射结构的数据类型,由无序的“键-值对”组成。字典的键必须是不可改变的类型,如:字符串,数字,tuple;值可
以为任何python数据类型。
1、新建字典
>>> dict1={}     
#建立一个空字典
>>> type(dict1)
<ty ......

搭建S60手机端Python软件运行,开发,发布平台

第一步:搭建手机运行平台
要在S60手机上运行PY开发的软件,首先就要搭建手机PY运行环境.诺基亚手机本身不支持Python,所以要安装Python插件.
PS:一定要安装在C盘!我一开始装E,结果出现了很严重的问题!不过,最近网上发现有E盘版的啦,你可以自己试验一下,哈哈
PythonScriptShell_1_4_5_3rdEd.SIS
Pyth ......

Python的lambda函数与排序

前几天看到了一行求1000的阶乘的Python代码:
print
  
reduce
(
lambda
  
x
,
y
:
x
*
y
,
  
range
(
1
,
  
1001
))

一下子被python代码的精简
与紧凑所折服,故对代码进行了简单的分析。
reduce与range都是Python的内置函数。
range(1,10 ......

Python和Singleton (单件)模式

我知道的一种在
python

Singleton mode
的实现如下:
class Foo: pass
def
instance():
   
global inst
   
try:
       
inst
   
except:
       
inst =
Foo
()
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号