[英]Why am I getting an UnboundLocalError while trying to assign a variable?
我想将本地函数“ main()”中的“ length”分配给另一个函数返回的值。 但是,在分配变量的同时,IDLE告诉我在分配变量之前先对其进行引用。 如何分配此局部变量,使其不会引起错误?
import random
def length():
return 2
def main():
length = length()
index = random.randrange(0, length)
main()
我希望通过引用length()将“ length”分配为“ 2”。 在我看来,“ length = length()”是一个简单,正确的赋值。
空闲回溯是:
Traceback (most recent call last):
File "/home/user/code/test1.py", line 10, in <module>
main()
File "/home/user/code/test1.py", line 7, in main
length = length()
UnboundLocalError: local variable 'length' referenced before assignment
length
是包含整数的局部变量,或者是引用该函数的全局变量。 不能两者兼有。 分配给它后,它便是整个函数的局部变量,因此不再引用长度函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.