鱼C论坛

 找回密码
 立即注册
查看: 2153|回复: 6

请看一下哪儿错了?为啥?

[复制链接]
发表于 2017-2-25 20:36:27 | 显示全部楼层 |阅读模式

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

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

x
例1:
def fun():
    a = 5
    print(a)

a = 22
fun()

例2:
def fun():
    print(a)
    a = 5
    print(a)

a = 22
fun()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-25 22:19:30 | 显示全部楼层
没看懂你想要表达啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-26 09:52:51 | 显示全部楼层
  1. 第一个改成这样
  2. def fun(a):
  3.       return a
  4. 就这两行。下面是调用。
  5. fun(22)
  6. 22

  7. 第二个
  8. def fun(a)
  9.       return a
  10.       return a
  11. 调试结果
  12. fun(22)
  13. 22
  14. 22
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-2-26 09:53:37 | 显示全部楼层

我的缩进有错哈
自己改一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-26 11:18:54 | 显示全部楼层
例子2中的第一个print函数中的a没有定义,你这样就print(a)是会报错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-2-26 11:35:27 | 显示全部楼层
这2个函数都是没有形参的,直接调用的话输出跟全局变量没关系,所以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-2-26 15:19:26 | 显示全部楼层
  1. def fun():
  2.     print(a)
  3.     a = 5
  4.     print(a)

  5. a = 22
  6. fun()
复制代码

这个报错,在20课第00:54秒的时候。小甲鱼有讲过哦,就是在函数里修改全局变量的值的时候,函数内,会自动屏蔽全局变量的值,而你这段函数,相当于还没定义局部变量a,就开始打印a了,这就报错了(这是我的理解,你可以再看看20讲前面的内容)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 15:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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