# Python中函数的学习

 12345 #!/usr/bin/python # Filename: function1.py def sayHello():         print 'Hello World!' # block belonging to the function sayHello() # call the function

 1234567891011 #!/usr/bin/python # Filename: func_param.py def printMax(a,b):         if a > b:                 print a,'is maximum'         else:                 print b,'is maximum' printMax(3,4) # directly give literal values x = 5 y = 7 printMax(x,y) # give variables as arbuments
 123 [root@gflinux102 code]# python func_param.py 4 is maximum 7 is maximum

2.1局部变量

 123456789 #!/usr/bin/python # Filename: func_local.py def func(x):         print 'x is',x         x = 2         print 'Changed local x to',x x = 50 func(x) print 'x is still',x
 1234 [root@gflinux102 code]# python func_local.py x is 50 Changed local x to 2 x is still 50

2.2全局变量

 1234567891011121314 #!/usr/bin/python # Filename: func_global.py def func():         global x         print 'x is',x         x = 2         print 'Changed local x to',x x = 50 func() print 'value of x is',x [root@gflinux102 code]# python func_global.py x is 50 Changed local x to 2 value of x is 2

global语句被用来声明x是全局的——因此，当我们在函数内把值赋给x的时候，这个变化也反映在我们在主块中使用x的值的时候。你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

 123456 #!/usr/bin/python # Filename: func_default.py def say(message,times = 1):         print message * times say('Hello') say('World',5)
 123 [root@gflinux102 code]# python func_default.py Hello WorldWorldWorldWorldWorld

 1234567 #!/usr/bin/python # Filename: func_key.py def func(a,b = 5,c = 10):         print 'a is',a,'and b is',b,'and c is',c func(3,7) func(25,c=24) func(c=50,a=100)
 12345 [root@gflinux102 code]# python func_key.py a is 3 and b is 7 and c is 10 a is 25 and b is 5 and c is 24 a is 100 and b is 5 and c is 50 [root@gflinux102 code]#

return语句用来从一个函数 返回 即跳出函数。我们也可选从函数 返回一个值 。

 12345678 #!/usr/bin/python # Filename: func_return.py def maximum(x,y):         if x > y:                 return x         else:                 return y print maximum(2,3)
 12 [root@gflinux102 code]# python func_return.py 3

maximum函数返回参数中的最大值，在这里是提供给函数的数。它使用简单的if..else语句来找出较大的值，然后 返回 那个值。

def someFunction(): pass

pass语句在Python中表示一个空的语句块。

Python有一个很奇妙的特性，称为 文档字符串 ，它通常被简称为 docstrings 。DocStrings是一个重要的工具，由于它帮助你的程序文档更加简单易懂，你应该尽量使用它。你甚至可以在程序运行的时候，从函数恢复文档字符串！

 12345678910111213 #!/usr/bin/python # Filename: func_doc.py def printMax(x,y):         ''' Prints the maximum of two numbers.         the two values must be integers.'''         x = int(x) # invert to integers,if possible         y = int(y)         if x > y:                 print x,'is maximum'         else:                 print y,'is maximum' printMax(3,5) print printMax.__doc__
 1234 [root@gflinux102 code]# python func_doc.py 5 is maximum  prints the maximum of two numbers. the two values must be integers.