You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

疑问:Python代码中valid=False与error是局部变量还是全局变量?

变量作用域判断:valid和error是局部还是全局?

先看你提供的这段Python代码:

def intcheck(question, low, high):
    valid = False
    error = "Please enter an integer bewteen {} and {}".format(low, high)
    while not valid:
        try:
            response = int(input(question))
            if low <= response <= high:
                return response
            else:
                print(error)
                print()
        except ValueError:
            print(error)

针对你的问题:valid和error都是局部变量,理由如下:

  • 它们是直接定义在intcheck函数内部的,没有用global关键字标记为全局变量
  • 这俩变量的作用范围仅限intcheck函数内部,函数外部根本访问不到它们——你要是在函数外试着打印valid或者error,Python会直接报NameError,因为全局作用域里根本不存在这俩名字

顺带提一句:函数的参数question、low、high,还有循环里的response,也都是这个函数的局部变量,只能在函数内部使用。

内容的提问来源于stack exchange,提问作者Jade M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:20:33