函数
1、什么是函数
- 函数 过程 功能 行为 动作
实现了某一功能或某些功能指令的集合
函数就是一个功能就是一个过程!!!
2、python如何定义函数
- def 关键字
- def 函数名称([参数列表]):
- #函数体
3、函数的调用:
- 函数是一个功能,定义一个函数时,但是它不会自动执行,是需要你调用它
- 函数名称([实参列表])
1、函数的分类
对人分类:可以分为男人女人
对国籍分类:中国人,美国人,日本人
以函数是否有参数:有参函数,无参函数
以是否存在返回值:无返回值,有返回值
定义者来分类:1、系统:python官方定义好的,内置到cpython解释器内部的
2、第三方:(公司、组织、个人)
3、自定义的
2、全局变量和局部变量
全局变量(local 变量):
在python中,定义在py文件的变量
,叫做全局变量
特点:在代码运行时,变量始终有效(不是 手动回收)
局部变量:
定义在函数中的变量
叫做局部变量
,当函数被垃圾机制回收的时候,该变量也会被回收掉
局部变量作用域也只有在函数内有效
函数使用全局变量的注意点:
如果一定要在函数中操作全局变量,使用global关键字来申明
3、函数的调用过程–压栈
函数的调用过程:
函数调用本质就是压栈调用完成后会进行弹栈
4、引用传递和值传递
python中函数参数是 引用传递
(不是值传递)。对于不可变类型,因变量不能被修改,所以运算时不会影响到变量本身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量.
形参: 函数需要传递的参数
实参:调用函数时传递的参数
注意:
强数据类型语言中,函数不允许嵌套、包含函数
弱数据类型 运行函数成为参数,传递另外一个函数中的
值传递:就是把值赋给其他变量让其他变量在参与运算,赋值者本身不发生改变。
引用传递:就是把一个对象传进去让函数帮这个对象进行相关操作。
5、函数参数(默认值参数、命名参数、可变参数、万能参数)
默认值参数:
命名参数(关键字参数):键值对形式存储的
可变参数: