我发现自己打了很多以下内容(为Django开发,如果相关的话):
if testVariable then:
myVariable = testVariable
else:
# something else
Run Code Online (Sandbox Code Playgroud)
或者,更常见的是(即建立参数列表)
if 'query' in request.POST.keys() then:
myVariable = request.POST['query']
else:
# something else, probably looking at other keys
Run Code Online (Sandbox Code Playgroud)
是否有一条我不知道的捷径简化了这一点?有什么逻辑myVariable = assign_if_exists(testVariable)吗?
Ale*_*lli 25
假设您希望将myVariable保持不变为"不存在"情况下的先前值,
myVariable = testVariable or myVariable
Run Code Online (Sandbox Code Playgroud)
处理第一个案件,和
myVariable = request.POST.get('query', myVariable)
Run Code Online (Sandbox Code Playgroud)
处理第二个.这两者都与"存在"无关(这几乎不是Python概念;-):第一个是关于真或假,第二个是关于集合中是否存在键.
奇怪地说第一个例子......为什么要将布尔值设置为另一个布尔值?
你可能的意思是当testVariable不是一个零长度的字符串时,将myVariable设置为testVariable,或者不是或者没有恰好评估为False的东西.
如果是这样,我更喜欢更明确的配方
myVariable = testVariable if bool(testVariable) else somethingElse
myVariable = testVariable if testVariable is not None else somethingElse
Run Code Online (Sandbox Code Playgroud)
索引到字典时,只需使用get.
myVariable = request.POST.get('query',"No Query")
Run Code Online (Sandbox Code Playgroud)