requests检测代码封装到函数后报局部变量未使用警告求解
问题原因
你遇到的警告本质是函数内的局部变量website_is_up仅完成赋值操作,既没有在函数内部后续使用,也没有作为返回值对外传递,IDE/解释器识别到该变量属于无效定义,因此触发提示。
除此之外你的原函数还存在隐藏逻辑漏洞:如果请求成功但返回状态码不是200,此时website_is_up不会被任何分支赋值,调用时会触发未定义报错。
修复方案
最常用的修复方式是补全变量默认值、添加返回逻辑,调用函数时接收返回值即可正常使用,修复后代码如下:
import requests url = "https://www.google.com" def test(): # 先给变量赋默认值,覆盖所有分支场景 website_is_up = False try: request = requests.get(url) if request.status_code == 200: website_is_up = True except: # 异常场景保留默认False即可,无需重复赋值 pass # 返回变量供外部调用使用 return website_is_up # 调用函数接收返回值,不会再触发警告 is_available = test() print(is_available)
如果你不需要对外返回变量,只需要在函数内部使用,直接在函数内补充变量的使用逻辑(例如打印、参与其他计算)即可消除警告。
内容的提问来源于stack exchange,提问作者NewJ
相关产品推荐
相关产品推荐

