一、Python函数定义 Python定义函数使用def语句,定义格式如下: def function_name(parameter): ' 函数说明' #函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明 函数体 函数的返回值用return语句返回 注意:1、函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回 2、如果没有return语句,函数执行完毕后也会返回结果,只是结果为None 3、Python函数支持返回多个值,返回多个值时其实返回一个tuple 示例如下: import math
结果如下: 151.961524227 130.0 二、Python函数定义默认参数 Python函数定义时,可默认参数,调用函数传参数时传必要的参数,需要的时候再传额外的参数覆盖默认参数值 由于函数从左往右顺序匹配,所有默认参数要定义在必需参数的后面 示例如下: def greet(str='World'):
结果如下: Hello,World 三、Python函数定义可变参数 有时需要函数能接受任意个参数,也就是不定长参数,可以定义一个可变参数,定义可变参数后,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数 示例如下: def average(*args):
结果如下: 0 四、Python函数定义关键字参数 Python使用关键字参数允许函数调用时参数的顺序与声明时不一致,Python解释器能够用参数名来匹配参数值 示例如下: def printinfo(name,age):
结果如下: name: Mali 五、Python匿名函数 python使用lambda来创建匿名函数 lambda函数语法: lambda [arg1[,arg2,arg3,...]]:表达式 注意:1、lambda只是一个表达式,函数体比def简单很多 2、lambda的主体只是一个表达式,而不是代码块,lambda能封装的逻辑有限 3、lambda函数拥有自己的命名空间,不能访问自有参数列表之外或全局命名空间里的参数 示例如下: sum=lambda x,y:x+y
结果如下: 3 六、参数传递 Python函数的参数传递: 不可变类型:类似c++的值传递,如整数、字符串、元组 可变类型:类似c++的引用传递如列表、字典 |
|