python参数、函数

*args以元组方式收集参数 可以先以元组形式收集参数 再将元组作为参数
**args是以字典形式收集参数

>>> def tf(x,*ff):\
... print x,ff
...
>>> tf(1,3,4,5,6)
1 (3, 4, 5, 6)
>>>

python中的几个特殊函数

1.lambda

#coding:utf-8
nums=range(0,100,3)
print nums
#每个元素加10
num_1=[x+10 for x in nums]
print num_1
nf=lambda x:x+10
num_2=[]
for i in nums:
    num_2.append(nf(i))
    print num_2

2.map

map(function,args)

new_l=map(nf,nums)
print new_l

3.reduce

new_2=reduce(lambda x,y:x+y,nums)
print new_2

与map用法类似

4.filter

a_num_list=range(-3,3)
#把其中大于0的元素取出来
print filter(lambda x:x>0 ,a_num_list)
  • xrange和range的区别 xrang返回的是迭代器对象 range返回的是列表 XRANG的执行效率更高

生成器 与迭代器原理类似

>>> my_gen=(x*x for x in range(4))
>>> my_gen
<generator object <genexpr> at 0x7f3765842050>
>>> for i in my_gen:\
... print i
...
0
1
4
9

生成生成器的一种方式 生成器解析式 与列表解析类似 () []不同

def gen():
yield 1
yield 2
yield 3
print gen()
g=gen()
print g.next()
  • 生成器创建对象之后 调用next()开始执行 遇到yield 挂起 返回值
    再次执行next()继续向下执行 遇到yeild挂起 返回值
  • send()方法需要在挂起后才可以执行 throw可以抛出异常 close可以关闭生成器
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,308评论 19 139
  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 8,614评论 0 80
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • 这五月,好像有点黑暗,看到不少“死亡”的字眼。 512汶川大地震9周年祭。回想当年,一瞬间,数万同胞葬身废墟。天灾...
    支策阅读 3,122评论 0 1
  • 01 对于小镇姑娘们来说,大城市好像有种天然的魔力。那个开放包容的大都会就像一个在远处闪闪发光的魔力之城,处处充满...
    小邪啊阅读 8,508评论 0 4