首页 > 编程语言 > 详细

Python之函数篇

时间:2016-03-11 20:23:59      阅读:277      评论:0      收藏:0      [点我收藏+]
  • 函数形参

函数取得的参数是你提供给函数的值,这样函数就可以利用这些值 做 一些事情。这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。 参数在函数定义的圆括号对内指定,用逗号分割。当我们调用函数的时候,我们以同样的方式提供值。注意我们使用过的术语——函数中的参数名称为 形参 而你提供给函数调用的值称为实参 。

例:使用形参

#! /usr/bin/python

def printMax(a,b):
  if a > b:
    print a , "is maximum"
  else:
    print b , "is maximum"

printMax(3,4)

结果:

spdbmadeMacBook-Pro:python spdbma$ ./test.py 

4 is maximum

  • 局部变量

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。 它如何工作 在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。 接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。 在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

#! /usr/bin/python

def func(x):
  print x is ,x
  x = 2
  print changed local x to ,x

x = 50
func(x)
print x is still,x

结果:

spdbmadeMacBook-Pro:python spdbma$ ./test.py 

x is  50

changed local x to  2

x is still 50

  • 默认参数值

对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。 

#! /usr/bin/python

def say(message,times=1):
  print message * times

say(hello )
say (hello ,5)

结果

spdbmadeMacBook-Pro:python spdbma$ ./test.py 

hello 

hello hello hello hello hello

解析:名为say的函数用来打印一个字符串任意所需的次数。如果我们不提供一个值,那么默认地,字符串将只被打印一遍。我们通过给形参times指定默认参数值1来实现这一功能。 在第一次使用say的时候,我们只提供一个字符串,函数只打印一次字符串。在第二次使用say的时候,我们提供了字符串和参数5,表明我们想要 说 这个字符串消息5遍。 

  • 关键参数

对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。

#! /usr/bin/python

def func(a, b=5, c=10):
  print a is ,a,  and b is ,b,  and c is ,c

func (3,7)
func (3,7,9)
func (25,c = 24)
func (c =50,a = 100)

结果:

spdbmadeMacBook-Pro:python spdbma$ ./test.py 

a is  3  and b is  7  and c is  10

a is  3  and b is  7  and c is  9

a is  25  and b is  5  and c is  24

a is  100  and b is  5  and c is  50

解析:名为func的函数用来打印一个字符串任意所需的次数。如果我们不提供一个值,那么默认地,字符串将只被打印一遍。我们通过给形参times指定默认参数值1来实现这一功能。 在第一次使用say的时候,我们只提供一个字符串,函数只打印一次字符串。在第二次使用say的时候,我们提供了字符串和参数5,表明我们想要 说 这个字符串消息5遍。

  • return语句

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

#! /usr/bin/python

def maximum(x , y):
  if x > y:
    return x
  else:
    return y

print maximum(2,3)

结果:

spdbmadeMacBook-Pro:python spdbma$ ./test.py 

3

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

 

[待更新...]

 

 

 

 

 

 

 

Python之函数篇

原文:http://www.cnblogs.com/tdcqma/p/5266790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!