Chinaunix首页 | 论坛 | 博客
  • 博客访问: 783342
  • 博文数量: 231
  • 博客积分: 3217
  • 博客等级: 中校
  • 技术积分: 2053
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-04 12:01
文章分类

全部博文(231)

文章存档

2015年(1)

2013年(10)

2012年(92)

2011年(128)

分类: LINUX

2012-06-05 13:43:42

使用def定义函数:
def fibs(num):
       result=[0,1]
      for i in range(num-2):
             result.append(result[-2]+result[-1])
return result
 
如果在函数的开头写下字符串,它就会作为函数的一部分进行存储,这部分称为文档字符串

点击(此处)折叠或打开

  1. >>> def square(x):
  2.     'hello world'
  3.     return x*x

  4. >>> square.__doc__
  5. 'hello world'
  6. >>> square(2)
  7. 4
抽象的要点是隐藏更新时的繁琐的希捷,这个过程可以用函数实现,如下:

点击(此处)折叠或打开

  1. >>> def init(data):
  2.     data['first']={}
  3.     data['middle']={}
  4.     data['last']={}

  5.     
  6. >>> storage={}
  7. >>> init(storage)
  8. >>> storage
  9. {'middle': {}, 'last': {}, 'first': {}}
把代码初始化放到函数中,函数包办了初始化的工作,让代码更加容易读。

点击(此处)折叠或打开

  1. >>> def print_params(title,*para):
  2.     print title
  3.     print para

  4.     
  5. >>> print_params('para',1,2,2,3)
  6. para
  7. (1, 2, 2, 3)
  8. >>> def print_ff(**para):
  9.     print para

  10.     
  11. >>> print_ff(x=1,y=2,z=3)
  12. {'y': 2, 'x': 1, 'z': 3}
  13. >>> def print_d(x,y,z=3,*po,**pa):
  14.     print x,y,z
  15.     print po
  16.     print pa

  17.     
  18. >>> priint_d(1,2,3,5,6,7,fo=1,ba=2)
  19. >>> print_d(1,2,3,5,6,7,fo=1,ba=2)

  20. 1 2 3
  21. (5, 6, 7)
  22. {'ba': 2, 'fo': 1}

一个星号的意思就是“收集其余的位置参数”,如果不提供任何收集的元素,para就是一个空元组。

两个星号的意思收集位置参数是字典。

点击(此处)折叠或打开

  1. >>> def add(x,y):
  2. return x+y
  3. >>> para=(1,2)
  4. >>> add(*para)
  5. 3
收集的逆过程是分配它们在一端的,使用*运算时调用而不是在定义时使用。

递归:

点击(此处)折叠或打开

  1. >>> def fa(n):
  2.     for i in range(1,n):
  3.         dd*=i
  4.         return dd

  5. >>> def fa(n):
  6.     if n==1:
  7.         return 1
  8.     else:
  9.         return n*fa(n-1)

  10.     
  11. >>> fa(3)
  12. 6

 

>>> def search(seq,num,lower,upper):
 if lower==upper:
  assert num==seq[upper]
  return upper
 else:
  middle=(lower+upper)//2
  if num>seq[middle]:
   return search(seq,num,middle+1,upper)
  else:
   return search(seq,num,lower,middle)



语句用来声明某个条件或者表达式是真的,如果不是真的,则会引发。

例如,如果你非常确信某个你使用的中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么语句是应用在这种情形下的理想语句。[网络]

a=[1]

(a)==1

a.()

(a)==1,' gth not 1 ,gth is %d '%(a)

最后会出现如下错误:

: gth not 1 ,gth is 0

阅读(1362) | 评论(0) | 转发(0) |
0

上一篇:pass、del、exec、eval

下一篇:更加抽象

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