函数
函数的定义
还记得 Python 里面“万物皆对象”么?Python 把函数也当成对象,可以从另一个函数中返回出来而去构建高阶函数,比如: 参数是函数、返回值是函数。
自定义函数
{使用def
使用时,调用方法与内置函数一致}
语法规则
def<定义函数> 函数名<可选>(参数):
函数体<需要的工作>
[return 返回值]<可选>
有参——和函数兑换,交换-更好调用函数
/
参数(可选)
\
无参
&
有返回——被当值来用
/
return[返回值](可选)
\
无返回
【例子】更具半径,计算面积。
#无参数无返回值
def area1():
print(3.14*10*10)
##有参数无返回值
def area2(r):
print(3.14*r*r)
#无参数有返回值
def area3():
return(3.14*10*10)
#有参数有返回值
def area4(r):
return(3.14*r*r)
area1()
area2(10)
print(area3())
print(area4(10))
总结:
........返回值总结........
如果没有返回值直接调用,执行函数
如果用返回值,函数执行结果,作为一个值来使用
.......参数总结............
无参数,函数功能是固定的
有参数,函数功能更加灵活,
函数文档
In [2]:
def MyFirstFunction(name): "函数定义过程中name是形参" # 因为Ta只是一个形式,表示占据一个参数位置 print('传递进来的{0}叫做实参,因为Ta是具体的参数值!'.format(name)) MyFirstFunction('老马的程序人生') # 传递进来的老马的程序人生叫做实参,因为Ta是具体的参数值! print(MyFirstFunction.__doc__) # 函数定义过程中name是形参 help(MyFirstFunction) # Help on function MyFirstFunction in module __main__: # MyFirstFunction(name) # 函数定义过程中name是形参
传递进来的老马的程序人生叫做实参,因为Ta是具体的参数值! 函数定义过程中name是形参 Help on function MyFirstFunction in module __main__: MyFirstFunction(name) 函数定义过程中name是形参
函数参数
Python 的函数具有非常灵活多样的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。从简到繁的参数形态如下:
- 位置参数 (positional argument)
- 默认参数 (default argument)
- 可变参数 (variable argument)
- 关键字参数 (keyword argument)
- 命名关键字参数 (name keyword argument)
- 参数组合
1. 位置参数
def functionname(arg1):
"函数_文档字符串"
function_suite
return [expression]
arg1
- 位置参数 ,这些参数在调用函数 (call function) 时位置要固定。
2. 默认参数
def functionname(arg1, arg2=v):
"函数_文档字符串"
function_suite
return [expression]
arg2 = v
- 默认参数 = 默认值,调用函数时,默认参数