python 函数
函数是组织好的,可重复使用的,用来实现单一,或相关功能的代码报
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
函数分为定义和调用
可更改(mutable)与不可更改(immutable)对象
在python中,string,tuples,和numbers是不可更改的对象,而list,dict等则是可以修改的对象。
不可变类型:变脸赋值a=5 后再赋值 a=10,这里实际是新生成一个int值的对象10,再让a指向它,而5被丢弃,不是改 变a的值,相当于新生成了a。
可变类型:变脸赋值a1=[1,2,3,4] 后在赋值a1[2]=5 则是将list a1的第三个元素值更改,本身a1没有动,只是内部的部分值被修改
关键字参数:
关键字参数允许你传入0个或任意个参数名的参数,这些关键字参数在函数内部自动组装为一个dict
列:关键字参数:**kw
def porson(name,age,**kw):
print('name',name,'age:'age,'other:',kw)
person('frank','37')
person('frank','37',city='shanghai')
person('frank','37'gender='M',job='Engineer')
默认参数:
缺省参数必须写在后面,可以不指定参数名,但是顺序要保证,否则要指定参数名
全局变量和局部变量:
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。