函数参数局部变量
函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表): 函数体
函数调用
定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。
如下实例调用了 printme() 函数:
# 定义函数 def printme( str ): print (str) return # 调用函数 printme("我要调用用户自定义函数!") #输出 我要调用用户自定义函数!
可更改(mutable)与不可更改(immutable)对象
在 python中:string, tuples, 和 numbers 是不可更改的对象
list,dict 等则是可以修改的对象。
不可变类型:例如a=5,重新赋值a=6,这里相当于重新生成了一个对象6,让a指向6,并不改变原本a的值,相当于重新生成了一个a。
def fun(num): num=num+6 return num a=6 print(fun(a)) #输出得到12 print(a) #输出得到6
可变类型:例如一个列表b=[1,2,3],这里改变第二个值2变为4,则是将第二个元素改变,本身listb并没有动,只是其中元素更改
def fun(num): num[0]=num[0]+6 return num a=[6] print(fun(a)) #输出[12] print(a) #输出[12]用值传递传递方式(复制内存地址的副本)去传递 可变类型-可改变内容 不可改变原地址
如 列表,字典。如 fun(a),则是将 a 真正的传过去,修改后fun外部的a的内容也会受影响
必选参数:实参(定义方法时的参数)和形参(调用方法时的参数),个性,数据类型,顺序必须一一对应。
默认参数:(缺省参数)缺省参数必须写在后面,可以不指定参数名,但是顺序要保证,否则要指定参数名。
命名关键字参数:命名关键字参数必须传入参数名,name=value
def f1(a,b,c=0,name='kurr') print(a,b,c,name) #a,b是必选参数 #c是默认参数 #name是命名关键字参数