P20函数-全局变量和局部变量20191229

所有内容出自鱼C论坛https://fishc.com.cn/ 小甲鱼课程

函数与过程

函数function有返回值,过程procedure没有返回值

python只有函数没有过程

python的所有函数都会返回某些东西,有返回值返回值,没有就返回none

Python 没有变量 只有名字,不用关注是什么类型

Python可以返回多个值(用列表或元组打包的形式)

(元组不一定非带上小括号,逗号隔开就行)

***局部变量local variable和全局变量global variable

这里函数里面的变量(price,rate,final_price)都是局部变量,局部生效,出了这个函数,这些变量都是无效的

Python在调用函数,是用栈stack进行存储,函数所需要的代码和变量都扔到栈里面去,执行完函数后,这个函数会被自动删除,栈的数据自动清空,所以函数外是无法访问到内部的局部变量

old_price ,rate,new_price都是全局变量

在函数内试图修改全局变量old_price,python自动创建一个新的局部变量代替,和全局变量old_price名字一样,所以并没有修改到全局变量

总结:全局变量在整个代码范围内都可以访问到,可以在函数内部去访问它的值,但是不要在函数内部去修改它,因为会新建一个名字一样的局部变量代替

你可能感兴趣的:(P20函数-全局变量和局部变量20191229)