1、python 函数的定义
以def开头,基本格式如下
def 函数名(参数列表): “ 函数_文档字符串” 函数体 return 表达式函数定义规则说明:
(1)函数代码块以def开头,后面紧跟的是函数名和圆括号( )。
(2)函数名的命名规则跟变量的名字一是样的,即只能是字母、数字和下划线的任何组合,但是不能以数字开头,并且不能跟关键字重名。
(3)函数的参数必须放在圆括号中。
(4)函数的第1行语句可以选择性地使用文档字符串来存放函数说明。
(5)函数内容以冒号起始,并且缩进。
(6) return 表达式结束函数,选择性地返回一个值给调用方。不带表达式的return 相当于返回None。
需要注意的是,如果参数列表包含多个参数,默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配的。
2、函数调用
函数名()3、函数参数:默认参数,不定长参数
带默认值的参数一定要位于参数列表的最后面。例
def printinfo( name, age = 15 )如果希望函数可以处理的参数个数比当初定义的参数个数多,可用不定长参数,语法:
def 函数名([formal_args,] *args, **kwargs): “ 函数_文档字符串” 函数体 return 表达式共三个参数,formal_args为传统定义的参数,*args和**kwargs为不定长参数。当调用函数的时候,函数传入的参数个数优先匹配formal_args参数的个数。如果传入的参数个数与formal_args参数个数相同,不定长参数会返回空的元组或字典;如果传入的参数个数比formal_args参数个数要多,则分以下两种情况:
(1)如果传入的参数没有指定名称,那么*args会以元组的形式存放这些多余的参数;
(2)如果传入的参数指定了名称,如 m=1,那么**kwargs会以字典形式存放这些被命名的参数,如:{m:1}。
举例
def test(a,b,*args,**kwargs): print(a) print(b) print(args) print(kwargs) test(11,22,33,44,55,66,77,m=88,n=99)运行结果
11 22 (33, 44, 55, 66, 77) {'m': 88, 'n': 99}
4、函数返回值:函数无参数,有返回值。函数无参数,有返回值。函数有参数,无返回值。函数有参数,有返回值。
一般用函数有参数,有返回值。举例
def sum(a,b): return a+b print("a+b=%s"%sum(10,20))运行结果
a+b=30
