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也值得了解)。