函数是组织好的,可重复使用的,用来实现单一或相关功能的代码段。
函数能提高应用的模块性和代码的重复利用率。
定义一个函数规则:
1、函数代码块以def关键词开头,后接函数标识名称和圆括号。
2、任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
3、函数的第一行语句可以选择性地使用文档字符串用于存放函数说明。
4、函数内容以冒号起始,并且缩进。
5、return结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。
语法:
python定义函数使用def关键字:
def 函数名(参数列表):
函数体
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
参数:
以下是调用函数时可使用的正是参数类型
1、必须参数
2、关键字参数
3、默认参数
4、不定长参数
必须参数:
必须参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样。调用printme()函数,必须传入一个参数,不然会出现语法错误:
关键字参数:
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用是参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值。
不定长参数:
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述两种参数不同,声明时不会命名。基本语法如下:
匿名函数:
python使用lambda来创建匿名函数。所谓匿名,即不再使用def语句这样标准的形式定义一个函数:
1、lambda知识一个表达式,函数体比def简单很多
2、lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去
3、lambda函数拥有自己的命名空间,且不能访问自有函数列表之外或全局命名空间里的参数
4、虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存而增加运行效率。
变量作用域:
python中,程序的变量并不是在那个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。两种最基本的变量作用域如下: