鱼C论坛

 找回密码
 立即注册
查看: 1894|回复: 1

[已解决]关于函数和内嵌函数的全局变量和外部变量的疑问..

[复制链接]
发表于 2016-10-27 12:30:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
昨天听了函数的那一段 今天自己瞎鼓捣 发现了一点问题  

代码一 :
  1. def fun1():
  2.     y = 5
  3.     def fun2():
  4.         y = 3
  5.         print (y)
  6.     fun2()
  7. fun1()
复制代码



代码二 :
  1. def fun1():
  2.     y = 5
  3.     def fun2():
  4.         y = y +3
  5.         print (y)
  6.     fun2()
  7. fun1()
复制代码


代码三  :
  1. def fun1():
  2.     y = 5
  3.     def fun2():
  4.         print (y)
  5.         y = 3
  6.     fun2()
  7. fun1()
复制代码



其中代码一 正常  二三是 出问题的

代码一 正常的原因是不是因为 在fun2 里面  y =3 相当于我重新定义了一个变量 所以就不出错了
代码二  不正常的原因 是不是  因为 y = y +3 这里 我不是重新定义变量 而是 对 fun1 里的y 变量进行了修改  所以才出错的
最想不明白的是代码三  我也重新定义了 y= 3   和代码1 相比只是 和print 的位置掉了一下 问啥就不行了呢  是不是因为 执行了print语句之后 相当于 y就已经存在  所以不能做修改了

不知道我的想法对不对  求大家解答


最佳答案
2016-10-29 20:18:34
请复习 [变量的作用域]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-29 20:18:34 | 显示全部楼层    本楼为最佳答案   
请复习 [变量的作用域]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 18:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表