在一个函数中定义了一个函数。我知道我必须使用Global var
,但是我仍然没有得到我期望的输出。在
def proxycall():
global ip
global port
ip = "192.168.0.1"
port = "8080"
def web1():
class YWebPage():
def something():
var = 1
def somethingelse():
varr = 2
class Browser():
def someting():
varrr = 3
def sometingelse():
varrrr = 4
print (ip)
print (port)
web1()
我的程序的这个最小版本给出了traceback-name错误:没有定义全局名'ip'。在
我现在看到了最小版本的问题,谢谢你指出了它。但是我现在不认为这是我的问题,因为我在下面的完整版本中调用了proxycall()
,有什么想法吗?在
在全局访问
ip
之前,需要调用proxycall():更新后的代码与原始代码有相同的问题。您在该语句中使用ip:
…但在之后的语句中调用
proxycall
之前,不会调用proxycall
。在您根本没有调用
proxycall()
,因此从未设置变量。在先调用它,然后调用
web1()
:名称不会仅仅因为在函数中标记为
global
而突然出现;Python名称需要赋值(绑定)才能具体化。在相关问题 更多 >
编程相关推荐