函数的引用转递
---恢复内容开始---
下面是我在学习时可能遇到的不理解的问题
1 什么是函数?
函数是一个代码块(可以是一行代码,也可以n行,建议不要太多)
2 函数名称怎么写?
函数名称就是变量,例如:想要年龄,命名age。想要时间,命名time(尽量命名有意义的)
3 参数要不要传?
看实际情况,当参数不确定时(例如计算器代码),需要由用户传递代码。或者为了简化参数(当特别复杂时,一个一个传递参数。)
4 要不要返回值?
看情况而定,例如计算器代码,只要结果时,不需要返回值
接下来就是函数的重点——引用传递
引用传递就是C语言的指针,让两个或多个指向地址,指向这个函数
实际上是在传递内存地址,不传递文件的值。
在python中,可以为函数的参数赋值默认值,一旦存在某个默认值,如果在调用的时候,不再传递这个参数,则会以默认值算。减少函数调用的复杂程度
在定义函数时如果存在有默认值参数,一定要写在没有默认值的参数后面。否侧在调用时,无法确定赋值给某个参数
3、全局变量和局部变量
全局变量:就是定义在py文件中,能被任何函数、类能够正常访问的变量。例如:a = 10
局部变量:定义在函数内部变量,叫做局部变量。
全局变量:就是定义在py文件中,能被任何函数、类能够正常访问的变量。例如:a = 10
局部变量:定义在函数内部变量,叫做局部变量。
a 是全局变量,b是局部变量(text函数的局部变量)
注意:函数本身是对象,存储在堆中,但是函数的调用是在栈中调用,调用函数时立刻压栈,调用完成后立刻弹栈。调完就释放
我们可以访问全局函数,但是不能再局部函数中队全局变量进行增删改。会报错。假如必须要对全局变量进行增删改,需要事先声明这个全局变量。可以用global关键字。
---恢复内容结束---