目录
函数
函数有什么用呢;在没学函数之前;咱们写的代码都是连贯的,如果想要调用其中一项功能就会很不方便,但是现在有了函数,就可以把写好的代码;分文别类的用函数包裹起来,如果想调用其中一项功能;只需要调用对应的函数名就可以了。
定义函数和调用
函数的使用必须遵循“先定义,后调用”的原则。函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就可以引用这段代码,这和变量的定义是相似的,如果没有事先定义好函数而直接调用,就相当于引用一个不存在的“变量名”
- 函数必须先定义,后调用
- 函数在定义阶段,如果有参数,调用阶段也需要给对应的参数
- 函数的定义阶段只会检查语法是否正确,不会执行具体的代码功能
- 函数在调用阶段会执行具体的函数代码体
- 调用函数只需直接 ( 函数名+())
函数的底层原理
- 申请一块内存空间,存储函数体代码
- 把函数题代码绑定给函数名
- 通过调用函数名来执行函数体代码(没有调用的函数体相当于没写,不会输出任何结果)
定义函数的语法
def 函数名(参数1,参数2,...):
"""文档描述"""
函数体
return 值
1.def:定义函数的关键字,这个必不可少
2.函数名:函数名指向函数的内存地址,是对函数体代码的引用(函数名的内存地址就相当于一个独立的内存空间,里面就是你存放的代码,你把这个内存地址赋值给谁,谁就可以调用里面的代码体)
3.括号:括号内定义参数,参数是可有可无的,且无需指定参数的类型
4.冒号:括号后面要加冒号,这是固定格式,声明下面我要开始写代码,然后在下一行缩进编写函数体的代码
5."""文档描述""":描述函数的功能,等价于注释,建议加上,增加函数的可读性,在后续自己再去查看的时候也可以尽快的了解自己的代码逻辑
6.函数体:跟据需求书写的不同的功能需求
7.return 值:定义函数的返回值,就是将结果返回到调用的地方,并把程序的控制权一起返回,如果在函数内进行运算等,不return返回运算结果,返回的就是None,反之如果没有什么操作,return是可以省略的
函数的分类
内置函数:python中自带的;可以直接使用
自定义函数(无参函数,有参函数,空函数)
参数
参数是函数向函数体传值的媒介,就相当于变量,没有变量就没办法调用对应的数据值,若函数体代码逻辑依赖外部传来的参数时,则需要定义参数
否则就是无参函数
空函数
函数体pass代表什么都不做,称为空函数,定义空函数在某些场景下是有用的,如果在程序设计的开始,只是想好了程序大值需要什么功能,但具体怎么实现还没思路,就可以先把所有功能先列举出来,用pass充当函数的占位符,会让整个程序结构体系可读性加强。
这样一个大致的框架就搭好了,便可以统筹安排编程任务,有选择性的去实现上述功能来替换掉pass,从而提高开发效率。
函数的返回值(重要)
- 当函数没有返回值的时候,没有return的时候,返回结果是None
- 当函数中只有return关键字的时候,返回的结果仍然是None
- 当return后有数据的时候,写什么返回什么
- 当return后面有多个数据的时候,会组成元组形式返回
- 如果你想返回多个值的时候,最好用容器类型包一下
- 在函数中,只要遇到return关键字,代码立即终止执行,一个函数最多一个return关键字(明确的来说一个函数里面的逻辑内只能有一个,如果里面有几个公式;返回结果不一样,就可以return多次)
- return只能出现在函数中,if else中绝对不能出现