假设我有以下代码:
if request.POST:
id = request.POST.get('id')
# block of code to use variable id
do_work(id)
do_other_work(id)
是否有一个快捷方式(一行代码)可以测试条件块是否为 request.POST 并为条件块分配变量 id 以使用 id 变量?
我读了这个是否有用于变量检查和赋值的 Python 快捷方式?但并没有真正回答我的问题。
假设我有以下代码:
if request.POST:
id = request.POST.get('id')
# block of code to use variable id
do_work(id)
do_other_work(id)
是否有一个快捷方式(一行代码)可以测试条件块是否为 request.POST 并为条件块分配变量 id 以使用 id 变量?
我读了这个是否有用于变量检查和赋值的 Python 快捷方式?但并没有真正回答我的问题。
不,您不能在if
测试表达式中分配任何内容。
如果你没有剩下的if
街区,
id = request.POST and request.POST.get('id')
会工作。
但是,这样做没有多大意义,因为id = request.POST.get('id')
可以很好地使用 empty request.POST
。
请记住,它request.POST
可以为空,即使方法是POST
. 这是大多数人会写的:
if request.method == 'POST':
id = request.POST.get('id')
# rest of block
我喜欢这个:
id = request.POST.get('id', False)
if id is not False:
# do something