函数的意义---->解决以下三个问题:
1.程序结构不清晰,可读性差
2.代码冗余
3.维护性差,有时候需要修改多处
函数定义:
语法:def 函数名():
" " "
文档描述 ----->用于增强函数的可读性
" " "
代码1
代码2 ------> 函数体,实现函数功能
return -------> 函数返回值
其中,def 定义函数的关键字,函数名用于调用函数,函数名应该能反映函数体所实现的功能,
函数调用:通过函数名调用,函数名指向储存函数体的内存空间(类似变量名)
def func(): pass print(func) <function func at 0x01EEC6A8>
函数定义的三种类型:
1.无参函数:函数功能的实现不需要外部值的传入
2.有参函数:参数用于接收外部传入值,用于实现函数体功能
3,空函数,函数体为pass.用于搭建框架,临时占位
函数调用的三种类型:
1.调用无参函数
2.调用有参函数
3.间接调用函数
def fun1(message): print(message) def fun2(func,arg): func(arg) fun2(fun1,'hello word') -----> hello word
注意:函数的定义过程只检测函数的语法,不执行代码,在函数调用时才执行代码
def fun1(message): print('ssss') fun2() Process finished with exit code 0 -------->从python语法看并没有错误,但是函数fun2()未定义,运行未报错,说明没有调用函数时,是不执行函数体的 print('ssss ^ SyntaxError: EOL while scanning string literal 如果语法的不完整运行是会报错的.... def f1(): print('hello word') f2() def f2(): print('哈哈哈') 调用f1()未报错,成功打印结果 def f1(): print('hello word') f2() f1() ---->此时调用f1(),报错 def f2(): print('哈哈哈')
函数返回值:
三种类型:
1.没有return,返回None对象
2.return后一个值,返回该值本身
3.return后多值,返回多值的元组
注:return返回的对象无数据类型限制
return是函数结束的标志,读到return,---->函数结束,并返回值