函数简介
l1 = [1, 2, 3, 4, 5, 6]
def my_len():
value_count = 0
for i in l1:
value_count += 1
print(value_count)
"""
我们自己瞎写的缺陷
1.只能统计某个固定的数据类型里面的数据值个数
2.没有产生新的值(返回值)
"""
"""
1.循环
在相同的位置反复执行相同的代码
2.函数
在不同的位置反复执行相同的代码
"""
print(len(l1))
print(my_len())
函数的定义与调用
1.函数必须先定义后使用
定义函数的代码必须要在调用函数的代码之前先运行即可
2.定义函数使用def关键字 调用函数使用函数名加括号(可能需要添加额外的参数)
3.函数在定义阶段只检测函数体代码语法 不执行函数体代码
只有在调用阶段才会真正的执行函数体代码
4.函数名到底是什么东西
函数名绑定的是一块内存地址 里面存放了函数体代码
要想运行该代码 就需要调用函数>>>:函数名加括号
"""
函数名加括号执行优先级最高(定义阶段除外)
"""
函数的分类
1.内置函数
解释器提前帮你定义好的函数 用户可以直接调用 len()
"""
内置函数可以直接调用
但是数据类型的内置方法(函数)必须使用数据类型点的方式才可以调用
相当于是数据类型独有的一些内置方法
"""
2.自定义函数
1.空函数
函数体代码使用pass顶替 暂时没有任何功能
主要用于前期的项目搭建 提示主要功能
def run():
pass
2.无参函数
函数定义阶段括号内没有填写参数
def func():
print('from func')
ps:无参函数直接函数名加括号即可调用
3.有参函数
函数定义阶段括号内填写参数
def func(a, b):
print('from func')
ps:有参函数调用需要函数名加括号并且给数据值
函数的返回值
"""
返回值就是调用函数之后产生的结果 可有可无
获取函数返回值的方式是固定的
变量名 = 函数()
上述方式有则获取 没有则默认接收None
"""
def func():
print('我在上面')
return 123
print('我在下面')
func()
函数的参数
"""
参数有两大类
1.形式参数
函数在定义阶段括号内填写的参数 简称为'形参'
2.实际参数
函数在调用阶段括号内填写的参数 简称为'实参'
形参与实参关系
形参相当于是变量名
实参相当于是数据值
在函数调用阶段形参会临时与实参进行绑定 函数运行结束立刻解除
>>>:动态绑定 动态解除
"""