goe*_*elv 1 python django boolean
我在python中有以下代码:
def update(request, id):
success = 0
try:
product = Mattress.objects.get(id=id)
success = 1
except Mattress.DoesNotExist:
pass
if success == 1:
return render_to_response("success.html")
else:
return render_to_response('failure.html')
Run Code Online (Sandbox Code Playgroud)
此代码是检查"成功"布尔值的有效方法吗?如果代码通过try语句,"success"会更改为1还是保持为0?
回答你的问题:
在Python中,布尔值是否可变?
是的,不是.分配了布尔值的变量(可能总是,并且在这种情况下肯定是可变的)是可变的,是的.它们也不限于分配布尔值,因为变量不是静态类型的.
但布尔True人和False他们自己并不是可变的.他们是无法修改的单身人士.
看看你的实际代码:
if success = 1:
Run Code Online (Sandbox Code Playgroud)
是不是有效的语法,你想要==那里.此外,惯用语言你不应该使用0和1成功和失败的价值,你应该使用True和False.所以你应该重构这样的事情:
def update(request):
success = False
try:
product = Mattress.objects.get(id=id)
success = True
except Mattress.DoesNotExist:
pass
if success:
return render_to_response("success.html")
else:
return render_to_response('failure.html')
Run Code Online (Sandbox Code Playgroud)