函数是一个可重复使用的程序块。每个函数都有一个名字叫函数名,你可以通过函数名在你的程序的任何地方调用它任何次。
函数的定义方法:
示例如下:
示例:
示例:
示例:
示例如下:
示例如下:
示例如下:
函数的定义方法:
def youfunction_name()://youfunction_name你的函数的名字示例:
你的函数要执行的代码
#!/usr/bin/python运行输出如下:
# Filename: function1.py
def sayHello():
print 'Hello World!' # 函数执行的代码块
# 函数结束
sayHello() # 调用你定义的函数
$ python function1.py
Hello World!
1、函数的参数
我们在定义函数时也可以定义形式参数,形式参数包括在圆括号内,形式参数之间用逗号分隔。你在调用该函数时应提供对应的实际参数,以便函数用你提供的实参进行相应的运算。示例如下:
#!/usr/bin/python运行输出如下:
# Filename: func_param.py
def printMax(a, b):# a,b 就是你定义的形参
if a > b:
print a, '最大'
else:
print b, '最大'
printMax(3, 4) # 调用函数,3,4作为实参
x = 5
y = 7
printMax(x, y) # 调用函数,变量作为实参
$ python func_param.py
4 最大
7 最大
2、局部变量
当你在一个函数的定义中声明变量时,这个变量和函数体外的同名变量是没有关系的。这个变量是局限于声明它的函数,是局部变量,只在定义它的函数中起作用,这就是变量的作用域。所有的变量都有一个作用域,作用域开始于变量的声明处。示例:
#!/usr/bin/python运行输出如下:
# Filename: func_local.py
def func(x):
print 'x is', x
x = 2
print '改变局部变量x的值为', x
x = 50
func(x)
#同名的外部变量作为实参。实际上是将外部变量的值传递给内部变量x
#它们名字相同,但分别代表不同的内存区域。
print 'x is still', x
$ python func_local.py
x is 50
改变局部变量x的值为 2
#函数内部的变量x在函数外是不起作用的
x is still 50
3、使用global语句
如果在函数体内,你想使用一个在函数外声明的变量,也就是说你想使用该变量所代表的内存区域,那么你应该使用global语句。示例:
#!/usr/bin/python运行输出如下:
# Filename: func_global.py
def func():
global x #声明引用外部变量x
print 'x is', x
x = 2
print '改变全局变量x为', x
x = 50
func()
print 'x的值为', x
$ python func_global.py
x is 50
改变全局变量x为 2
x的值为 2
4、默认的参数值
函数可以有可选的参数,这个参数必须有一个默认值。也就是说你在调用函数时,这些可选参数的实参可有可无,没有时将使用定义函数时该参数的默认值。示例:
#!/usr/bin/python运行输出如下:
# Filename: func_default.py
def say(message, times = 1):
print message * times
say('Hello')
say('World', 5)
$ python func_default.py上例代码中,times是可选参数。它的默认值是1,你可以在实际调用中改变。
Hello
WorldWorldWorldWorldWorld
5、关键词参数
如果一个函数有很多参数,而你在调用时只想指定其中的几个,那么你可以用它的名字来指定它们。示例如下:
#!/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) #指定形参c的实参为24
func(c=50, a=100) #指定形参a,c的实参,因为用名字指定,所以顺序无关紧要
$ 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
6、return语句
return语句用来从函数中返回值,并退出函数。它是可选的。示例如下:
#!/usr/bin/python运行输出结果如下:
# Filename: func_return.py
def maximum(x, y):
if x > y:
return x
else:
return y
print '函数的返回值为',maximum(2, 3)
$ python func_return.py
函数的返回值为3
7、文档字符串(DocStrings)
文档字符串通常是用来描述程序或函数的功能的。文档字符串包含在'''中。示例如下:
#!/usr/bin/python运行输出如下:
# Filename: func_doc.py
def printMax(x, y):
'''比较两个数的大小.
这两个数应是整数,否则转换为整数.'''
x = int(x) # 转换为整数
y = int(y)
if x > y:
print x, '最大'
else:
print y, '最大'
printMax(3, 5)
print printMax.__doc__ #显示文档字符串,调用文档字符串的方法是“函数名
.__doc__”
$ python func_doc.py
5 最大
比较两个数的大小.
这两个数应是整数,否则转换为整数.
本系列的文章来源是http://www.pythontik.com/html,如果有问题可以与那里的站长直接交流。