一、函数的定义
- 函数是组织好的,可以重复使用的,用来实现单一或者相关联功能的代码段,其实函数就是可以 实现某一功能的代码块,下次使用的时候直接调用就可以了
- 函数能提高应用的模块性,和代码的重复利用率
- python提供了很多内建函数,比如print(),但用户也可以自己创建函数,被叫做 自定义函数
1、定义一个函数
- 定义一个函数的简单的规则:
在python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后在缩进块中编写函数体,函数的返回值用return语句返回,不带表达式的return相当于返回None - 如果不主动调用函数的话,函数使不会执行的。
2、形参
- 定义函数的时候的变量叫形参,形参可以任意起名
3、实参
- 真实的数据信息,调用函数时传递的参数,实参
这里的tom、lily就是实参。
二、形参
- 形参又分为:位置参数、默认参数、可变参数、关键字参数
1、位置参数
- 实参和形参的个数必须保持一致,最好按位置传参。
- 如果位置不对应就要指定说明。
2、默认参数
- 形参和实参可以不一致,如果不想使用默认的参数,在调用函数的时候可以指定
3、可变参数
- 可变参数允许传入0个或者任意个参数,这些可变参数在函数调用时候,自动组装为一个元组(tuple)
参数解包
- 参数解包,在参数名前加*
参数解包后,输出:
4、关键字参数
- **kwargs代表关键字参数,可以传入任意多个key-value,是一个字典
- 关键字参数允许传入0个或任意个含参数名的参数,这些 关键字参数在函数内部自动组装为一个dict
三、函数的返回值
- 返回值:函数运算的结果,还需要进一步操作,给函数一个返回值
- print和return的区别:print仅仅是打印在控制台,而ruturn则是将return后面的部分作为返回值,也就是函数的输出.
- return的作用:用来返回函数执行的结果,如果函数没有返回值,默认返回None,类型也是NoneType
- 一旦遇到return 函数执行结束,后面的代码不会执行
- 多个返回值的时候,python会帮我们封装成一个 元组 类型
四、局部变量和全局变量的作用域
- 局部变量:在函数内部定义的变量,只有在函数内部起作用,函数执行结束,变量会自动删除,只在本函数范围内有效
- 全局变量:“在函数外定义的变量”,即从定义变量的为只到本源文件结束都有效 可以被程序所有对象或函数引用
- 当有外部变量时,main函数中的同名变量就是全局变量,如果没有外部变量,main函数里的变量依然是局部变量,也可以在函数内部声明变量为全局变量。
1、 全局变量
- 此时函数内部定义的a是全局变量,所有的输出均为全局变量的信息
2、局部变量
- 此时函数外面的a是全局变量,所有的输出是全局变量的信息,局部变量只在函数内部起作用
五、练习
来源:51CTO
作者:草莓啾啾啾
链接:https://blog.csdn.net/ranrancc_/article/details/100756461