函数初识
函数
函数的格式
- def fun (): def关键字 函数名后面必须加:fun()表示函数会被执行
- return 表示函数的返回值,默认为None,一旦出现return,此函数停止,后面的内容不再执行,如果有多个返回值,则会将多个值打包成元组返回。
函数的参数
-
形参就是一个变量名,实参就是值 传参就是在赋值
-
参数原则,位置参数一定在关键字参数之前,并且一一对应。
-
万能参数 形参
*args
接受任意多个位置参数,**kwargs
接受任意多个关键字参数。*args 接受的是多个位置参数, 会将接收到的的参数打包成元组,**kwargs 接受的是多个关键字参数,会将参数打包成字典类型。 位置参数 *args(位置参数) 默认值参数 > **kwargs(默认参数)
-
万能参数 实参
*args
传递任意多个位置参数,**kwargs
接受任意多个关键字参数。*将传递的可迭代对象打散, **会将接受的字典打散
函数的作用域
-
全局作用域: 在整个文件的任何位置都可以使用(遵循 从上到下逐⾏执行).
-
局部作用域: 在函数内部可以使用.
global 在函数内部修改全局变量,如果全局不存在则会创建 nonlocal 只修改上一层变量,如果上一层中没有变量就往上找一层,只会找到函数的最外层,不会找到全局进行修改 a = 100 def func(): global a # 加了个global表示不在局部创建这个变量了. 而是直接使用全局的a a = 28 print(a) func() print(a) ================================================================== a = 10 def func1(): a = 20 def func2(): nonlocal a a = 30 print(a) func2() print(a) func1() 加了nonlocal 30 30 不加nonlocal 30 20
函数的调用
- 函数名()就是函数的调用,如果没有()只有函数名,就只是函数的内存地址传递,只要在加()就能执行此函数