所有内容出自鱼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名字一样,所以并没有修改到全局变量
总结:全局变量在整个代码范围内都可以访问到,可以在函数内部去访问它的值,但是不要在函数内部去修改它,因为会新建一个名字一样的局部变量代替