1.函数的概念
概念
写了一段代码实现了某个小功能; 然后把这些代码集中到一块, 起一个名字; 下一次就可以根据这个名字再次使用这个代码块, 这就是函数
作用
方便代码的重用
分解任务, 简化程序逻辑
使代码更加模块化
函数分类
内建函数
三方函数
自定义函数
2.函数的基本使用
简单定义
def 函数名():
函数体
函数的调用
函数名()
3.函数的参数
单个参数
场景
需要动态的调整函数体中某一个处理信息
则可以, 以参数的形式接收到相关数据
定义
def 函数名(参数名称):
函数体
函数体中, 可以直接以变量的方式使用该参数
函数的调用
函数名(参数值)
形参和实参的概念
上述函数定义中, "参数名称"即为形参;
在调用函数的时候, 传递的真实数据, 即为实参
多个参数
场景
需要动态的调整函数体中多个处理信息时
则可以以 逗号 做分割, 接收多个参数
定义
def 函数名(参数名称1, 参数名称2):
函数体
函数体中, 可以直接以变量的方式使用所有参数
调用
方式1
函数名(参数1, 参数2, 参数3...)
形参和实参一一对应
方式2
函数名(参数名称1=参数1, 参数名称n = 参数n...)
可以指明形参名称
称为"关键字参数"
不需要严格按照顺序
不定长参数
场景
如果函数体中, 需要处理的数据, 不确定长度
则可以以不定长参数的方式接收数据
方式1
定义
def 函数名(*args):
元组
函数体
函数体中, 可以直接以元组变量的方式使用该参数
使用
函数名(参数1, 参数2, 参数3...)
方式2
定义
def 函数名(**dic):
字典
函数体
函数体中, 可以直接以字典变量的方式使用该参数
使用
函数名(参数名称1=参数1, 参数名称2=参数2...)
参数拆包
装包
把传递的参数, 包装成一个集合, 称之为"装包"
拆包
把集合参数, 再次分解成单独的个体, 称之为"拆包"
缺省参数
场景
当我们使用一个函数的时候, 如果大多数情况下, 使用的某个数据是一个固定值, 或者属于主功能之外的小功能实现;
则可以使用默认值
这种参数, 称为"缺省参数"
定义
def 函数名(变量名1=默认值1, 变量名2=默认值2):
函数体
函数体中, 即使外界没有传递指定变量, 也可以使用, 只不过值是给定的默认值
使用
函数名(变量1, 变量2)
此处如果是缺省参数, 则可以不填写
参数注意
值传递和引用传递
值传递
是指传递过来的, 是一个数据的副本;
修改副本, 对原件没有任何影响
引用传递
是指传递过来的, 是一个变量的地址
通过地址, 可以操作同一份原件
但是注意
在Python当中, 你没得选, 只有引用传递(地址传递)
但是
如果数据类型是可变类型, 则可以改变原件
如果数据类型是不可变类型, 则不可以改变原件
学习地址:
撩课-Python大数据+人工智能1
撩课-Python大数据+人工智能2
撩课-Python大数据+人工智能3
撩课-Python大数据+人工智能4
撩课-Python大数据+人工智能5
撩课-Python大数据+人工智能6
撩课-Python-GUI编程-PyQt5