初识函数
1.什么是函数
函数就类似于工具 提前定义好之后可以反复使用
类似于吃饭用的碗筷,勺子之类的,提前准备好,需要用的时候直接拿出来用就好了
而在程序中,'事先准备工具'的过程即函数的定义,'拿来就用'即函数的调用。
2. 为什么要用函数
1.我们现在所写的代码无法做到精简 需要用就必须重复写
2.我们现在所写的代码兼容性极差
3.我们现在所写的代码没有返回值
3.怎么使用函数
3.1函数的语法结构
def 函数名(参数1,参数2,...):
"""函数注释"""
函数体代码
return 值
1.def(必须的)
是定义函数的关键字
2.函数名(必须的)
是函数的名字 相当于变量名
函数名的命名规范与风格遵循变量名的
3.参数1,参数2(可选的)
参数可以没有也可以有多个
表示在使用函数之前需要满足的一些条件
4.函数注释(可选的)
类似于产品说明书
主要用于介绍函数功能 参数使用 及其他情况
5.函数体代码(必须的)
函数核心的代码逻辑(重要)
6.return返回值(可选的)
使用函数之后反馈给使用者的结果 可以有也可以没有 没有就默认返回None,
return的返回值无类型限制,且可以将多个返回值放到一个元组内。列:
def f():
return 1, 3, 5
f()
3.2函数的调用
函数在定义完之后,就到了调用函数的过程了以以下代码为例
def foo():
print('函数已经调用')
def func(x,y):
return x*y
foo()
m=func(1,2)
n=10*func(1,2)
b = func(2, func(2, 3))
3.3函数注意事项(重点)
1.函数必须先定义后调用(顺序不能乱)
2.函数在定义阶段只检测语法不执行代码
3.函数在调用阶段才会执行函数体代码
如何调用函数
函数名加括号 如果函数在定义阶段有参数则在调用阶段也需要给参数
函数在定义与调用阶段底层原理
1.在内存空间中申请一块空间存储函数体代码
2.将函数体代码所在的空间地址绑定给函数名
3.函数名加括号则会执行函数体代码
4函数的分类
4.1 内置函数
python解释器自带的(提前给你定义好了 你直接使用即可)
4.2 自定义函数
程序员自己写的函数,又分为以下三种
1.无参函数:在函数定义阶段括号内没有写参数(变量名)
def my_func():
print('这个函数很牛逼')
2.有参函数:在函数定义阶段括号内写了参数(变量名)
def my_func(a,b):
print('这个函数更牛逼')
my_func(1,2)
3.空函数:函数体代码为空(pass ...)
def run():
pass
"""
虽然空函数本身没有含义 但是空函数可以提前规定好编写代码的思路
"""