您现在的位置: IT技术文档中心 >> 文档资源 >> 编程语言及开发环境 >> Python >> 文档正文
Python编程基础(函数)
作者:未知 文章来源:互联网 点击数: 更新时间:2007-7-20 23:45:15
函数是一个可重复使用的程序块。每个函数都有一个名字叫函数名,你可以通过函数名在你的程序的任何地方调用它任何次。
函数的定义方法:
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
Hello
WorldWorldWorldWorldWorld
上例代码中,times是可选参数。它的默认值是1,你可以在实际调用中改变。

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 最大
比较两个数的大小.

        这两个数应是整数,否则转换为整数.
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
| 设为首页 | 加入收藏 | 联系站长 | 版权申明 | 雁过留声 | 会员中心 |