函数的本质
函数可以看作是一个工具,提前定义好,之后就可以反复使用,没有函数(相当于没有工具) 那么需要用的时候得现场制作,有函数(相当于有工具) 那么需要的时候直接调用(使用)即可
1.函数的定义(提前准备工具的过程)
def my_func():
pass
2.函数的使用(开始选择工具事物时候)--调用函数,函数调用
my_func()
函数的语法结构
def 函数名(参数1,参数2...):
"""函数注释"""
函数体代码
return 返回值
1.def:是定义函数的关键字
2.函数名:与变量名的命名一致,尽量做到见名知意
3.括号:在定义函数的时候函数名后面必须跟括号
4.参数:定义函数括号内可以写参数(没有固定的个数),也可以不写参数
用于接收外界传递给函数体代码的内部数据
5.函数注释:(可以不写)类似于说明书,用于介绍函数的主题功能和具体用法,增强函数的可读性
6.函数体代码:整个函数最核心的区域(逻辑代码)
7.return:控制函数的返回值,return可有可无
函数的定义与调用
1.函数必须先定义后调用
定义函数的代码必须要在调用函数的代码之前先运行
2.定义函数使用def关键字,调用函数使用函数名加括号(可能需要添加额外的参数)
3.函数在定义阶段只检测函数体代码语法,不执行函数体代码,只有在调用阶段才会真正的执行函数体代码
4.函数名本质:函数名绑定的是一块内存地址 里面存放了函数体代码
如果想要运行代码,就需要调用函数>>>;函数名加括号(执行优先级最高,定义阶段除外)
函数的分类
函数分为内置函数和自定义函数,自定义函数包括空函数、无参函数、有参函数
1.内置函数:解释器提前帮你定义好函数,用户可以直接使用 eg: len()
ps:内置函数可以直接调用,但是数据类型的内置方法(函数)必须使用数据类型点的方式才可以调用,相当于是数据类型独有的一些内置方法 eg: str.strip()
2.自定义函数
2.1 空函数:函数体代码使用pass顶替,暂时没有任何功能,主要用于前期项目搭建,提示主要功能
2.2 无参函数:函数在定义阶段括号内没有填写参数
eg:
def func():
print("from func")
2.3 有参函数:函数在定义阶段括号内有填写参数
ps:有参函数在调用时,需要函数名加括号并且给数据值
def func(a,b):
print(a)
print(b)
func(1,2) # 1 2
func() # 报错
函数的返回值
返回值就是调用函数之后产生的结果,可有可无
获取函数返回值的方式:
变量名 = 函数名()
print(变量名) # 有则获取 没有则默认接收None
1.函数体代码没有return关键字:默认返回None
eg:
def func():
print('from func')
res = func() # from func
print(res) # None
2.函数体代码有return关键字:后面不写,也返回None
eg:
def func():
print('from func')
return
res =