day8_python学习笔记_chapter11_函数
1. 返回对象的数目 python实际返回的对象
0 -> None ; 1 -> object ; >1 -> tuple
2. 内部/内嵌函数:如果内部函数的定义包含了再外部函数里定义的对象的引用, 内部函数会变成被称为闭包的特别之物。
3. 装饰器 ------------待补充
4. 非关键字可变长参数(元组):
def tupleVarArgs(arg1, arg2, *theRest):
print arg1, arg2
for w in theRest:
print w
tupleVarArgs('aaa', 'bbb', 'ccc', 'ddd')
5. 关键字变量参数(字典)
def dictVarArgs(arg1, arg2, **theRest):
print arg1, arg2
for w in theRest.keys():
print 'the args is %s: %s' % (w, str(theRest[w]))
dictVarArgs('aaa', 'bbb', c='ccc', d = 'ddd', e='eee', men=('f', 'fff'))
6. 匿名函数,lambda
def add(x, y): return x + y <==> a = lambda x, y : x + y
7. 函数式编程内建函数:apply(func[nkw][kw]) 用可选的参数来调用func
filter(func, seq), 调用一个布尔函数func来迭代遍历每个seq中的元素;返回一个使func返回值为true的元素序列
fiter()函数的实现:
def filter(boo_func, seq):
filtered_seq = []
for eachItem in seq:
if bool_func(eachItem):
filtered_seq.append(eachItem)
return filtered_seq
8. map(func, seq) ,将函数func作用到seq中的每个元素上,返回每个元素调用过func() 的seq
map() 函数的实现:
def map(func, seq):
mapped_sqe=[]
for eachItem in seq:
mapped_seq.append(func(eachItem))
return mapped_seq
9. redunce(func, seq), 他通过去除序列的头两个元素, 将他们传入二元函数来获得一个单一的值来实现。然后又用这个值和序列的下一个元素来获得又一个值,然 后继续直到整个序列的内容都遍历完毕以及最后的结果被计算出来为止。
reduce(func, [1, 2, 3]) 等价于 func(func(1, 2), 3)
reduce(func, seq, init=None)的实现:
def reduce(bin_func, seq, init=None):
Iseq = list(seq)
if init is None:
res = lseq.pop(0)
else:
res = init
for item in lseq:
res = bin_func(res, item)
return res
10. 偏函数: 函数固化第一个参数为固定参数,
from functools import partial ; from operator import add, mul
eg: add3 = partial(add, 3) ; add(x) ==== add(x, 3)
mul5 = partial(mul, 5); mul5(x) ==== mul(x, 5)
将二进制转化为int: baseTwo = partial(int, base=2); baseTwo('1000')
11. 变量作用于:局部,全局,global语句
12. 闭包: 如果在一个内部函数中, 对在外部作用域(但不是全局作用域)的变量进行引用,那么内部函数就被认为是闭包。
def counter(st=0):
count=[st]
def incr():
count[0] += 1
return count[0]
return incr
>>> count = counter(5)
>>> print count()
>>> 6
day8_python学习笔记_chapter11_函数的更多相关文章
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- matlab学习笔记13_1 函数返回值
一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...
- swift学习笔记2——函数、闭包
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- haskell学习笔记_函数
一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- es6学习笔记-async函数
1 前情摘要 前段时间时间进行项目开发,需求安排不是很合理,导致一直高强度的加班工作,这一个月不是常说的996,简直是936,还好熬过来了.在此期间不是刚学会了es6的promise,在项目有用到pr ...
- Python学习笔记系列——函数
今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...
- javascript学习笔记--迭代函数
概要 这里的迭代函数指的是对数组对象的操作方法,js数组共有五个迭代函数:every.fifter.forEach.map.some. 1.every every方法,返回值为Boolean类型,tr ...
随机推荐
- 经典 SQL
经典sql 总结一些经常用到或碰到的SQL语句,希望能与大家分享,同时也希望大家能提供更多的精妙SQL语句..... 1.delete table1 from (select * from tab ...
- 初学DIV+CSS要记住的
初学DIV+CSS?有六个问题需要您关注一下!作为DIV+CSS初学者,如果在动手写代码之前对网页整体结构由一个清晰认识的话,写起来会事半功倍!但是,写的过程中总是有这样那样的问题,使得我们不得不停下 ...
- css selection改变文字反选的背景颜色
<style type="text/css"><!--.ai::-moz-selection { background:#cc0000; color:#fff; ...
- Java多线程并发编程之原子变量与非阻塞同步机制
1.非阻塞算法 非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 -- 例如比较和交换.非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞 ...
- css样式表中四种属性选择器
学习此连接的总结http://developer.51cto.com/art/201009/226158.htmcss样式表中四种属性选择器1> 简易属性 tag[class]{ font-we ...
- 星际争霸反作弊AG对战平台_支持108,113
星际争霸反作弊AG对战平台_支持108,113,116 强大的星际反作弊功能,对战神器,让玩家公平对战 目前腾讯对战,浩方对战,VS对战平台都有星际外挂,AG平台什么都不干专门反外挂,希望热爱星际的玩 ...
- 《pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统》
<pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统> 前两天分享了套小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户 ...
- flex lineChart中自定义datatip
原文 http://www.giser.net/?p=776 在Flex4中使用lineChart会遇到一个bug,datatip上的背景是黑色的,造成文字看不清楚,和整体界面不协调. 那么解决这个问 ...
- perl 公交车查询
<pre name="code" class="cpp">decode_json 必须是unicode形式的字符,Dump不支持显示unicode形 ...
- uva10934 Dropping water balloons
//好久没做题 一直没状态 然后刷了个水题玩玩 //寒假集训和校赛都做到了类似的题目 然而当时并不会 (其实现在也不会 题意:有k个气球和一个n层高的楼,气球有硬度,在某曾会恰好摔碎,问至少多少次实验 ...