疑问: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
相关产品推荐
相关产品推荐

