Python Tik
|
|
|
编程基础 基本数据类型 操作符和表达式 控制语句的执行顺序 函数 模块 数据结构 类 输入输出 异常处理 标准库概要 Python应用 网络应用 数据库应用 图形用户界面开发 游戏开发 Python交流 博客 Python论坛
|
函数函数是一个可重复使用的程序块。每个函数都有一个名字叫函数名,你可以通过函数名在你的程序的任何地方调用它任何次。 函数的定义方法: def youfunction_name()://youfunction_name你的函数的名字 你的函数要执行的代码示例:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: function1.py
def sayHello():
print 'Hello World!' # 函数执行的代码块
# 函数结束
sayHello() # 调用你定义的函数
raw_input('(按任意键结束)')
运行输出如下:
$ python function1.py 1、函数的参数我们在定义函数时也可以定义形式参数,形式参数包括在圆括号内,形式参数之间用逗号分隔。你在调用该函数时应提供对应的实际参数,以便函数用你提供的实参进行相应的运算。示例如下:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# 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) # 调用函数,变量作为实参
raw_input('(按任意键结束)')
运行输出如下:$ python func_param.py 4 最大 7 最大 (按任意键结束) 2、局部变量当你在一个函数的定义中声明变量时,这个变量和函数体外的同名变量是没有关系的。这个变量是局限于声明它的函数,是局部变量,只在定义它的函数中起作用,这就是变量的作用域。所有的变量都有一个作用域,作用域开始于变量的声明处。示例:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# 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
raw_input('(按任意键结束)')
运行输出如下:$ python func_local.py x is 50 改变局部变量x的值为 2 #函数内部的变量x在函数外是不起作用的 x is still 50 (按任意键结束) 3、使用global语句如果在函数体内,你想使用一个在函数外声明的变量,也就是说你想使用该变量所代表的内存区域,那么你应该使用global语句。示例:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: func_global.py
def func():
global x #声明引用外部变量x
print 'x is', x
x = 2
print '改变全局变量x为', x
x = 50
func()
print 'x的值为', x
raw_input('(按任意键结束)')
运行输出如下:$ python func_global.py x is 50 改变全局变量x为 2 x的值为 2 (按任意键结束) 4、默认的参数值函数可以有可选的参数,这个参数必须有一个默认值。也就是说你在调用函数时,这些可选参数的实参可有可无,没有时将使用定义函数时该参数的默认值。示例:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# Filename: func_default.py
def say(message, times = 1):
print message * times
say('Hello')
say('World', 5)
raw_input('(按任意键结束)')
运行输出如下:$ python func_default.py Hello WorldWorldWorldWorldWorld (按任意键结束)上例代码中,times是可选参数。它的默认值是1,你可以在实际调用中改变。 5、关键词参数如果一个函数有很多参数,而你在调用时只想指定其中的几个,那么你可以用它的名字来指定它们。示例如下:
#!/usr/bin/python
#-*- encoding:UTF-8 -*-
# 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的实参,因为用名字指定,所以顺序无关紧要
raw_input('(按任意键结束)')
运行输出如下:$ 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
#-*- encoding:UTF-8 -*-
# Filename: func_return.py
def maximum(x, y):
if x > y:
return x
else:
return y
print '函数的返回值为',maximum(2, 3)
raw_input('(按任意键结束)')
运行输出结果如下:$ python func_return.py 函数的返回值为3 (按任意键结束) 7、文档字符串(DocStrings)文档字符串通常是用来描述程序或函数的功能的。文档字符串包含在'''中。示例如下: #!/usr/bin/python #-*- encoding:UTF-8 -*- # 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__ #显示文档字符串,调用文档字符串的方法是“函数名运行输出如下:
$ python func_doc.py
5 最大
比较两个数的大小.
这两个数应是整数,否则转换为整数.
(按任意键结束)
|
版权所有 联系方式 email:zzjcs1971@163.com QQ:397987442 |
|
|---|---|