学习《简明Python教程》第四天

时间:2022-11-14 20:50:40

 第7章 函数

通过def关键字定义。

定义函数

 

  
 
 
  1. #!/usb/bin/python 
  2. #Filename function.py 
  3.  
  4. def sayHello(): 
  5.     print 'Hello World' 
  6. sayHello() 

$python function.py

Hello world

 

  
 
 
  1. #!/usr/bin/python 
  2. #Filename func_param.py 
  3.  
  4. def printMax(a, b):  # 函数的形参 a 和 b
  5.     if a > b: 
  6.         print a, 'is maximum' 
  7.     else
  8.         print b, 'is maximum' 
  9.  
  10. printMax(34
  11.  
  12. x = 5 
  13. y = 7 
  14.  
  15. printMax(x, y) 

$python func_param.py

4 is maximum

7 is maximum

 

  
 
 
  1. #!/usb/bin/python 
  2. #Filename func_local.py 
  3.  
  4. def func(x): 
  5.     print 'x is', x 
  6.     x = 2 
  7.     print 'Changed local x to', x 
  8. x = 50 
  9. func(x) 
  10. print 'x is still', x 

$python func_local.py

x is 50

Changed local x to 2

x is still 50

 

  
 
 
  1. #!/usr/bin/python 
  2. #Filename func_global.py 
  3.  
  4. def func(): 
  5.     global x 
  6.  
  7.     print 'x is', x 
  8.     x = 2 
  9.     print 'Changed local x to', x 
  10.  
  11. x = 50 
  12. func() 
  13. print 'Value of x is', x 

$python func_global.py

x is 50

Changed global x to 2

Value of x is 2

 

  
 
 
  1. #!/usr/bin/python 
  2. #Filename func_default.py 
  3.  
  4. def say(message, times = 1): 
  5.     print message * times 
  6.  
  7. say('Hello'
  8. say('World'5

$python func_default.py

Hello

WorldWorldWorldWorldWorld

 

  
 
 
  1. #!/usr/bin/python 
  2. #Filename func_key.py 
  3.  
  4. def func(a, b=5, c=10): 
  5.     print 'a is', a, 'and b is', b, 'and c is', c 
  6.  
  7. func(37
  8. func(25, c=24
  9. func(c=50, a=100

$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

 

  
 
 
  1. #!/usr/bin/python 
  2. #Filename func_return.py 
  3.  
  4. def maximum(x, y): 
  5.     if x > y: 
  6.         return x #注:没有返回值等价于return None
  7.     else:  #每个函数结尾暗含return None
  8.         return y 
  9.  
  10. print maximum(23) #从此可以看出函数没有返回任何对象

$python func_return.py

3

 

  
 
 
  1. def someFunction(): 
  2.     pass  #pass语句在Python中表示一个空的语句块 

 

   
  
  
  1. #!/usr/bin/python 
  2. #Filename func_doc_strings.py 
  3.  
  4. def printMax(x, y): 
  5.     '''''Prints the maximum of two numbers. 
  6.  
  7.     The two values must be integers.''' #文档字符串惯例是一个多行字符串,它的首行以大写字母开始,句号结尾;第二行是空行,从第三行开始是详细描述 
  8.     x = int(x) 
  9.     y = int(y) 
  10.  
  11.     if x > y: 
  12.         print x, 'is maximum' 
  13.     else
  14.         print y, 'is maximum' 
  15. printMax(3,5
  16. print printMax.__doc__ #( __doc__ ,调用printMax函数文档字符串属性。注意双下划线) 

 

本文出自 “今天的收成” 博客,请务必保留此出处http://managers.blog.51cto.com/107937/1108023