Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中变量的作用域;加上;陈述_Python_Flask_With Statement - Fatal编程技术网

Python中变量的作用域;加上;陈述

Python中变量的作用域;加上;陈述,python,flask,with-statement,Python,Flask,With Statement,我的代码中有一个带有语句的: @app.route('/users', methods = ['POST']) def registerUser(): .... if email is None: errorsList.append(Error("email","Email address not entered")) else: # Check if email address is already in databas

我的代码中有一个带有语句的

@app.route('/users', methods = ['POST'])
def registerUser():

    ....

    if email is None:
        errorsList.append(Error("email","Email address not entered"))
    else:       
        # Check if email address is already in database
        with contextlib.closing(DBSession()) as session:        
            if session.query(USER).filter_by(USEREMAIL=email).count():
                errorsList.append(Error("email","This email address already exists"))

    # Add user to database
    user = USER(email,password)
    session.add(user)
    session.commit()
当我运行这段代码时,它工作得很好。但是,我预期会发生错误,因为我认为
会话
将超出
语句的范围,因此
未定义


我没有在这个函数的任何其他地方或全局定义
会话。

Python变量在方法结束之前一直在作用域内。python中没有作用域的“块”

python变量一直保持在作用域内,直到方法结束。python中没有作用域的“块”

python变量一直保持在作用域内,直到方法结束。python中没有作用域的“块”

python变量一直保持在作用域内,直到方法结束。python中没有作用域的“块”

它没有超出作用域,但是已经调用了session.close,所以您不应该尝试使用它的ide注意:如果您遵循大家的约定,遵循PEP 8(PEP 257也值得知道),那就太好了。它没有超出作用域,但是已经调用了session.close,因此,您不应该尝试使用它的IDE注释:如果您遵循每个人的约定,遵循PEP 8(PEP 257也值得知道),那就太好了。它不超出范围,但session.close已被调用,因此您不应该尝试使用它的IDE注释:如果您遵循每个人的约定,遵循PEP 8,那就太好了(PEP 257也值得了解)。它没有超出范围,但session.close已被调用,因此您不应该尝试使用它的IDE注意:如果您遵循每个人的约定,遵循PEP 8,那就太好了(PEP 257也值得了解)。