现在的位置: 首页 > 综合 > 正文

Python学习:def函数的定义、使用及参数传递

2012年09月07日 ⁄ 综合 ⁄ 共 914字 ⁄ 字号 评论关闭

Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为:

def 函数名(参数1, 参数2, ……, 参数N):
    执行语句

函数名为调用的表示名,参数则是传入的参数,可以更具需要定义,也可以没有。

# 例1:简单的函数使用
#
 coding=gb2312

# 定义函数
def hello():
    print 'hello python!'
    
# 调用函数        
hello()
    
>>> hello python!

函数可以带参数和返回值,参数将按从左到右的匹配,参数可设置默认值,当使用函数时没给相应的参数时,会按照默认值进行赋值。

# 例2:累加计算值
#
 coding=gb2312

# 定义函数
def myadd(a=1,b=100):
    result = 0
    i = a
    while i <= b:    # 默认值为1+2+3+……+100
        result += i    
        i += 1
    return result

# 打印1+2+……+10        
print myadd(1,10)
print myadd()       # 使用默认参数1,100
print myadd(50)     # a赋值50,b使用默认值
    
>>> 55
>>> 5050
>>> 3825


Python 函数的参数传递时,值得注意的是参数传入时若为变量会被当作临时赋值给参数变量,如果是对象则会被引用。

# 例3:
#
 coding=gb2312

def testpara(p1,p2):
    p1 = 10
    p2.append('hello')

l = []      # 定义一数组对像
a = 20      # 给变量a赋值
testpara(a,l)  # 变量a与对象数组l作为参数传入
print a     # 打印运行参数后的值
for v in l: # 打印数组对象的成员
    print v
        
>>> 20        # 调用函数后a变量并未被复值
>>> hello   # 而对象l数组则增加成员hello    

抱歉!评论已关闭.