python函数

函数是一个可重复使用的程序块。每个函数都有一个名字叫函数名,你可以通过函数名在你的程序的任何地方调用它任何次。
函数的定义方法:
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 最大
比较两个数的大小.

这两个数应是整数,否则转换为整数.

 

本系列的文章来源是http://www.pythontik.com/html,如果有问题可以与那里的站长直接交流。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值