定义函数
定义一个函数,以下规则需要遵守:
- 函数代码块以 def 关键词开头,后接函数名称和圆括号 ()。
- 圆括号中间用于定义参数(形参可为0)。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,并返回此表达式的值给调用方。不带表达式的return 或者直接省略return 都相当于返回None。
语法
python定义函数使用def关键字,格式如下
def 函数名称(形式参数):
函数体
return[表达式]
默认情况下,定义函数采用的是位置参数(后面有具体几种参数定义方法的讲解),即参数值与参数名称按位置顺序匹配。
实例
def fuc1():
print(6)
print(fuc1())
def fuc2():
print(6)
return 5
print(fuc2())
def fuc3(x):
x+=1
return x
print(fuc3(6))
以上输出结果为:
6
None
6
5
7
1.函数执行完毕也没有return语句时,自动返回return None。而为何会返回一个值 6,仅仅因为代码行print(6)是函数体内唯一一行代码,fuc1()只做一项工作:打印 6。
2.函数执行完毕,return指定返回整数5给调用方,不论如何调用,结果都是5。
3.函数体内 x+=1 展开等于 x = x+1 ,当调用函数fuc3时,传入参数6 ,此时x =x+1表达式左边的 x已被赋值指向6,通过表达式自增重新赋值后变成7,由return返回给调用方,所以结果为7。
返回值
函数并非总是直接显示输出。上述例子中
def fuc1():
print(6)
print(fuc1())
输出结果为
6
None
此函数直接显示输出 6,是因为函数体本身自带了print(6),从而给我们一个错觉,调用了函数就是会直接显示输出。实际调用函数返回的是None。
相反,它可以处理一些数据,并返回一个或多个值。而函数返回的的值被称为返回值。
def fuc2():
print(6)
return 5
print(fuc2())
def fuc3(x):
x+=1
return x
print(fuc3(6))
输出结果为
6
5
7
在函数中,return关键字的用处就是将值返回到调用函数的代码行。此例中 return关键字将5返回给调用函数的代码行,不论函数体中如何执行,最后调用函数的代码行得到的值就是 5。
同样,例2也印证了return[表达式]是将值返回给函数调用方。(具体实现上面已经说明,此处略去不表)