函数的引用转递

---恢复内容开始---

下面是我在学习时可能遇到的不理解的问题

1  什么是函数?

  函数是一个代码块(可以是一行代码,也可以n行,建议不要太多)

2  函数名称怎么写?

  函数名称就是变量,例如:想要年龄,命名age。想要时间,命名time(尽量命名有意义的)

3  参数要不要传?

  看实际情况,当参数不确定时(例如计算器代码),需要由用户传递代码。或者为了简化参数(当特别复杂时,一个一个传递参数。)

4  要不要返回值?

  看情况而定,例如计算器代码,只要结果时,不需要返回值

接下来就是函数的重点——引用传递

 引用传递就是C语言的指针,让两个或多个指向地址,指向这个函数

实际上是在传递内存地址,不传递文件的值。

 在python中,可以为函数的参数赋值默认值,一旦存在某个默认值,如果在调用的时候,不再传递这个参数,则会以默认值算。减少函数调用的复杂程度

在定义函数时如果存在有默认值参数,一定要写在没有默认值的参数后面。否侧在调用时,无法确定赋值给某个参数

3、全局变量和局部变量
 全局变量:就是定义在py文件中,能被任何函数、类能够正常访问的变量。例如:a = 10
 局部变量:定义在函数内部变量,叫做局部变量。

 a 是全局变量,b是局部变量(text函数的局部变量)

 注意:函数本身是对象,存储在堆中,但是函数的调用是在栈中调用,调用函数时立刻压栈,调用完成后立刻弹栈。调完就释放
我们可以访问全局函数,但是不能再局部函数中队全局变量进行增删改。会报错。假如必须要对全局变量进行增删改,需要事先声明这个全局变量。可以用global关键字。

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/wananluni/p/11532986.html