Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2860063
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: Python/Ruby

2012-02-28 00:05:26

函数是重用的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为 调用 函数。
函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名(包括默认参数值,关键参数值),该行以冒号结尾。接下来是一块语句,它们是函数体。

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。
这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 无效 的。 

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

  1. #!/usr/bin/python
  2. # Filename: func_global.py

  3. def func():
  4.     global X
  5.     print 'x is', X
  6.     X = 2
  7.     print 'Changed local x to', X

  8. def sayHello(age,name='king'):
  9.     print 'name is',name,'age is',age

  10. def getMax(a,b):
  11.     if a > b:
  12.         return a
  13.     elif a < b:
  14.         return b
  15.     else:
  16.         print 'a=b'

  17. def printFor():
  18.     for i in range(1,5):#1 2 3 4小于5
  19.         print i
  20.     else:
  21.         print 'the loop is over'

  22. X = 50
  23. func()
  24. sayHello(12)
  25. getMax(2,2)
  26. printFor()
  27. print 'Value of X is', X


函数与函数之间应该隔一个空行,类之间隔两个空行,注意一下默认参数(放到最后),还有关键参数等;


阅读(649) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

nba76ers2012-02-28 12:56:05

请记住Python把 每一样东西 都作为对象