在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
1. 我们现在所写的代码冗余度比较高,需要写重复代码
2. 目前写的代码兼容性太差了
函数:函数就类似于是一个工具箱,什么时候使用什么时候拿到就用
内部封装了一些功能,哪里需要就在哪里使用
总的来说就是函数能够帮我们减少重复代码的编写,且可以随时调用非常方便。
1.函数必须先定义后使用:定义函数的代码必须要在调用函数的代码之前运行即可
2.定义函数使用def关键字:调用函数:函数名()只要函数名加括号一定会执行函数体代码
函数如果在定义阶段有参数,那么在调用的时候,连参数一块写上
3.函数在定义阶段只检测函数语法是否错误,不检测逻辑是否有问题,只有在调用阶段才会检测逻辑上的问题和真正的执行函数体的代码
4.函数一定是被调用之后才会执行内部代码块,不调用函数一定不会执行函数
函数调用的内部原理:
1.先在内存空间中申请一块空间地址来存储函数体代码
2.把函数名和函数体锁在的空间地址绑定在一起
3.以后只需要通过函数名()来访问函数体代即可
函数的基本格式:
def 函数名(参数1,参数2,......):
'''函数注释'''
函数体代码
return 返回值
"""
1. def 就是定义函数的关键字,它不能够省略,必须写
2. 函数名的命名遵循变量的命名规范,他也是必填的,不能省略的,括号不能省略
3. 参数1、参数2称为是函数的参数,是可选的,可有可无
参数就是执行函数的一些前提条件
4. '''函数注释'''
注释不参与函数的执行,只起到函数功能的提示作用,以及各个参数是什么意思
可有可无的,但是,推荐每个函数都加上函数注释
5. 函数体
才是函数的核心,它是函数所具备的核心功能,应该是必须有的,pass
没有函数体的函数是没有意义的函数,一般情况都是要有函数体的
6. 返回值 return 函数的返回值
返回值也是可选的,可以有返回值,也可以没有返回值,但是一般情况下都要有返回值
一个函数只能有一个返回值...
return之后的语句不再执行,跟break有点像。return在不带参数的情况下(或者没有写 return 语句),
默认返回 None。
"""
Python解释器中原本就存在的,可以直接拿来使用,无需定义,直接调用
具体内置函数可以去官网查询:https://docs.python.org/3/library/functions.html#abs
解释器提前帮你定义好的函数 用户可以直接调用
len() # ctrl按住点击len就可以看到已经定义好的参数了
"""
内置函数可以直接调用
但是数据类型的内置方法(函数)必须使用数据类型点的方式才可以调用
相当于是数据类型独有的一些内置方法
"""
函数体代码使用pass顶替 暂时没有任何功能
主要用于前期的项目搭建梳理业务逻辑 提示主要功能
def test():
pass
在函数定义阶段括号内填写参数
def test(a,b): #有参函数调用需要函数名加括号并且给数据值即可调用
'''test'''
print('I am King!')
return
在函数定义阶段括号内没有填写参数
def test(): #无参数直接函数名加括号即可调用
'''test'''
print('I am God!')
return