Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1446297
  • 博文数量: 239
  • 博客积分: 5909
  • 博客等级: 大校
  • 技术积分: 2715
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-24 20:19
文章分类

全部博文(239)

文章存档

2014年(4)

2013年(22)

2012年(140)

2011年(14)

2010年(59)

我的朋友

分类: Python/Ruby

2010-10-18 13:32:11

1.函数定义及参数

def fib(n=2,a=1):#参数可以有默认值
    """这里给函数写文档注释"""
    for i in range(n):
        print a


>>>f=fib #可以用一个变量表示函数
>>>f(3)
1
1
1


2.lambda函数,一种无名函数的速写法

def make_incrementor(n):
    return lambda x: x+n

f=make_incrementor(n)
#f等价于
#def f(x):
# return x+n


3.不定长参数,*para,**para

参数格式为 *para 表示接受一个元组,为 **para 表示接受一个字典,*para要在**para之前 

def test(*args,**dic):
    for arg in args :
        print arg
    for k,v in dic.iteritems():
        print k ,':',v


4.@装饰器,@A def B:pass 等价于 def B:pass B=A(B) 即将函数B作为参数传给参数A

5. 生成器表达式:类似于没有中括号的列表推导式,可用在参数中

>>>sum(i*i for i in range(10))
285


6.yield,每次调用返回一个值,并记录当前执行位置所有的变量

def reverse(data):
    for index in range(len(data)-1,-1,-1):
        yield data[index]

for char in reverse("golf"):
    print char,


阅读(1318) | 评论(1) | 转发(0) |
0

上一篇:Python数据类型

下一篇:Python基本函数(二)

给主人留下些什么吧!~~

chinaunix网友2010-10-18 16:40:55

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com