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

Pyke 简介 (3) :调制 Python 函数

对 Python 函数的"调制",是指对其做出合乎需求的设置。具体的调制方法,是将其参数设为固定值(常数)。
设定单一的参数值
原先的函数是这样的:
>>> def foo(cooked, standard):
... print "foo called with cooked: %s, standard: %s" % \
... (cooked, standard) 
调用它:
>>> foo('a', 'b')
foo called with cooked: a, standard: b 
不过,想要的是让这个函数的第一个参数,变成"调制参数",并且只剩下第二个参数。
通过 Python 标准库模块functools的类partial,可以做到。
>>> from functools import partial 
用 partial 调制第一个参数:
>>> cooked1 = partial(foo, 'cooked_value1') 
原函数 foo 的第一个参数,被调制成为函数 cooked1,foo 的第二个参数,成了 cooked1 的唯一参数。
>>> cooked1('value1')
foo called with cooked: cooked_value1, standard: value1
>>> cooked1('value2')
foo called with cooked: cooked_value1, standard: value2
 
可以用其他值,生成调制函数:
>>> cooked2 = partial(foo, 'cooked_value2')
>>> cooked2('value1')
foo called with cooked: cooked_value2, standard: value1
>>> cooked2('value2')
foo called with cooked: cooked_value2, standard: value2
 
原本一个函数,现在调制成了两个,事半功倍呵。
>>> cooked1('value3')
foo called with cooked: cooked_value1, standard: value3
>>> cooked1('value4')
foo called with cooked: cooked_value1, standard: value4
>>> cooked2('value5')
foo called with cooked: cooked_value2, standard: value5
>>> cooked2('value6')
foo called with cooked: cooked_value2, standard: value6 
如法炮制,可由原函数生成任意多个调制函数。
做出函数调用顺序图
用同样的调制技术,对调制出的函数,再次进行调制,可以产生下一级调制函数,......,由此逐步形成函数调用顺序图:
>>> def bar(child_fun, a):
... print "bar called with:", a
... return child_fun(a) 
注意,函数 bar 的第一参数是个引用,即函数名。用这个办法,可以调制任何参数:
(其中的 float 和 min 是 Python 的内建函数)
>>> bar_f


相关文档:

python 中 base64 压缩图片,用post传送


Including binaries in your sources
+y F J2A T&N1H f(L ]0
Sometime it's handy to include small files in your sources (icons, test files, etc.)CNOUG博客首页 P x z c W R K+x3{ N
CNOUG博客首页 h I A O$k-n P
Let's take a file (myimage.gif) and convert it in base64 (optionnaly compressing it wit ......

Python 字符串


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

Python 元组


Python 元组
元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
使用元组
例9.2 使用元组
#!/usr/bin/python
# Filename: using_tuple.py
zoo = ('wo ......

Amusing Python 2: range/xrange

这两个基本上都是在循环的时候用。
Python
代码 < type="application/x-shockwave-flash" width="14" height="15" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=for%20i% ......

Python中数据结构 列表 元组 字典 序列


列表
list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列
的项目。假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,而在Python中,
你在每个项目之间用逗号分割。
列表中的项目应该包括在方括号中,这样Python就知道你是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号