原始代码如下:
import fake_useragent
from fake_useragent import UserAgent
def getHeader():
UserAgent = UserAgent().random;
headers = {'User-Agent': UserAgent}
return headers
if __name__ == '__main__':
getHeader()
错误如下:
意思说局部变量‘UserAgent’前边没有定义。注意这里提示是局部变量,一开始定义的为全局变量。
UnboundLocalError: local variable 'UserAgent' referenced before assignment
不算正确的正确做法:
为全局变量重新赋值,然而这样全局变量就改变了。用global 声明此处的UserAgent是全局的
def getHeader():
global UserAgent
UserAgent = UserAgent().random;
headers = {'User-Agent': UserAgent}
return headers
正确的做法:
局部变量名和全局变量名重名了,若不想赋值,这里应该把局部变量的名字改掉!!
def getHeader():
newUserAgent = UserAgent().random;
headers = {'User-Agent': newUserAgent }
return headers