python——函数

参考资料:http://www.cnblogs.com/vamei

 

函数最重要的目的是方便我们重复使用相同的一段程序

将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。

 

函数的定义

首先,先定义一个函数:

def square_sum(a,b):
    c=a**2+b**2
    return c

这个函数的功能是计算两个数的平方和

首先,def这个关键字是为通知python:在这个定义了函数。square_num是函数名。

括号里的a,b是函数的参数,参数可以有多个,也可以没有(但括号必须有)

函数同循环一样需要用缩进冒号来表示隶属关系

 c=a**2+b**2                      #这是函数内部的运算

 return c                         #返回c的值,也就是输出,python中允许没有返回值,也就是可以没有return

return可以返回多个的值,中间用逗号隔开,相当于返回一个tuple(定值表)

 return a,b,c                     #相当于return(a,b,c)         

 

函数的调用和参数传递

在定义函数之后,可以在后面使用:        

print(square_sum(3,4))

 

python通过位置,知道3对应a,4对应b,然后把参数传递给函数square_sum()。

 

a=1

def change_integer(a):
    a=a+1
    return a

print(change_integer(a))
print(a)

#-----------------------------(python中#后为注释)

b=[1,2,3]

def change_list(b):
    b[0]=b[0]+1
    return b

print(change_list(b))
print(b)

第一个例子,将一个整型变量传递给函数change_integer(),函数对它进行操作,但原整型变量a的值并没有变化

第二个例子,将一个传递给函数change_list(),函数对它进行操作,原来的表b发生变化

基本类型的变量,变量传递给函数,函数会在内存中复制一个新变量,从而不影响原来的变量(我们称此为值传递

但是对于来说,表传递给函数的是一个指针,指针指向序列在内存中的位置,在函数中对表的操作将在原有内存中进行,从而影响原有变量(我们称此为指针传递)   

 

posted @ 2017-04-09 13:22  Queenayao  阅读(193)  评论(0编辑  收藏  举报