如何解决Python函数不更改变量
我是一名C ++程序员,正在学习pygame,所以我对python非常陌生。我注意到函数的这种行为,并且不知道该怎么做:
x = 10
def foo():
x = 100
现在,在我的主要pygame循环中,如果我调用foo(),则函数调用后变量x仍为10。这是怎么回事?
解决方法
在函数内部,x的局部作用域值已更改。函数外部定义的x具有全局范围。要更改全局值,请在更新值之前尝试函数中的<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<h1>Sign Up</h1>
</div>
<form action="/signUp" method="POST">
<input type='text' name="email" placeholder="Email Address" autofocus required>
<input type='password' name="password" placeholder="Password" required>
<input type='password' name="confirm_password" placeholder="Confirm Password" required>
<button type="submit" value="Sign Up">Next</button>
</form>
</body>
</Html>
语句
global var_name
,
在函数内部,您隐式创建了另一个变量x,然后将其设置为100。要更改全局变量,请尝试以下操作:
def foo():
global x
x = 100
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。