ymhld 发表于 2020-1-6 21:54

python 总显示UnboundLocalError: local variable 'star' referenced before assig...

本帖最后由 ymhld 于 2020-1-7 07:56 编辑

想编辑一个布一行星星的PY,运行13_1.py ,总显示
UnboundLocalError: local variable 'star' referenced before assignment

麻烦大佬给看看,哪里出了错?

https://www.lanzouj.com/i8i38if

田田爱崽崽 发表于 2020-1-6 22:25

star还没有赋值给他就直接作为参数传了吧

ymhld 发表于 2020-1-6 22:38

田田爱崽崽 发表于 2020-1-6 22:25
star还没有赋值给他就直接作为参数传了吧

错在哪里了,能帮着改一下?

lilips 发表于 2020-1-6 23:21

ymhld 发表于 2020-1-6 22:38
错在哪里了,能帮着改一下?

star = star(ai_Settings)    这里错了,函数内对star做了修改,所以star变成了局部变量,不再是原来的star类。所以这之前要加global star,或者在这段之前重新导入from star import star。。。。这是我的理解,如果有错,欢迎各位大佬指出

ymhld 发表于 2020-1-7 07:54

lilips 发表于 2020-1-6 23:21
star = star(ai_Settings)    这里错了,函数内对star做了修改,所以star变成了局部变量,不再是原来的sta ...

在13_1.py里已经import star了,还是出错呢

ymhld 发表于 2020-1-7 08:00

lilips 发表于 2020-1-6 23:21
star = star(ai_Settings)    这里错了,函数内对star做了修改,所以star变成了局部变量,不再是原来的sta ...

要怎么改才能通过呢?请教

lijt16 发表于 2020-1-7 10:50

ymhld 发表于 2020-1-7 08:00
要怎么改才能通过呢?请教

你把star.py里面的star类名称改一下,估计和你star = star(ai_Settings)产生了歧义,我改完后提示NameError: name 'ai_Settings' is not defined,你应该还有一个参数没给,所以我也不知道改完对不对。

ymhld 发表于 2020-1-7 10:53

需要改对了,我也是不知道怎么改才好

yuanmengxiaozi 发表于 2020-1-7 11:41

看不懂哎

lilips 发表于 2020-1-7 14:43

ymhld 发表于 2020-1-7 10:53
需要改对了,我也是不知道怎么改才好

star = star(ai_Settings) 这一行上添加global star或者from star import star....
页: [1] 2
查看完整版本: python 总显示UnboundLocalError: local variable 'star' referenced before assig...