2024-04-19 14:38:10 发布
网友
当前代码:
error = dict.get("error", None) if error: print(error)
有没有办法把它放在一行上,例如:
print(error) if (error = dict.get("error", None))
在C中,您可以赋值,然后比较,然后打印在一行上:
if (a = 5) printf("%d",a);
在答案here的基础上,可以使用分号填充多个表达式。像这样的
error = my_dict.get("error", None); print(error) if error is not None else None
应该可以,但我正在打电话,不能测试。你知道吗
在Python3.8中,您将能够编写
if error := dict.get("error", None): print(error)
Python没有Perl风格的语句修饰符,但是由于print是一个函数,因此可以编写如下表达式语句
print
print(error) if (error := dict.get("error", None)) else None
虽然我不推荐。(实际上,我不完全确定PEP-572定义的赋值表达式是否与条件表达式相互作用。我还没有使用任何引用实现来测试它,但我相信error将在整个表达式的范围内。)
error
不过,像这样一个简单的if语句,可以写在一行上(不过,我还是不建议这样做;PEP-8显然不赞成这样做)
if
if error := dict.get('error', None): print(error)
()
您可以将^{}和^{}与三元告诉end=""或end="\n"一起使用来避免/使用它后面的换行符,而不是使用三元print("" if not d.get("error") else d["error"]):
end=""
end="\n"
print("" if not d.get("error") else d["error"])
d = {"error": "plenty"} print( d.get("error",""), end = "\n" if d.get("error","") else "")
如果密钥不存在,则不打印任何内容(甚至不打印由于end=""而产生的换行符)。你知道吗
见Why dict.get(key) instead of dict[key]?
在答案here的基础上,可以使用分号填充多个表达式。像这样的
应该可以,但我正在打电话,不能测试。你知道吗
在Python3.8中,您将能够编写
Python没有Perl风格的语句修饰符,但是由于
print
是一个函数,因此可以编写如下表达式语句虽然我不推荐。(实际上,我不完全确定PEP-572定义的赋值表达式是否与条件表达式相互作用。我还没有使用任何引用实现来测试它,但我相信
error
将在整个表达式的范围内。)不过,像这样一个简单的
if
语句,可以写在一行上(不过,我还是不建议这样做;PEP-8显然不赞成这样做)()
您可以将^{} 和^{} 与三元告诉
end=""
或end="\n"
一起使用来避免/使用它后面的换行符,而不是使用三元print("" if not d.get("error") else d["error"])
:如果密钥不存在,则不打印任何内容(甚至不打印由于
end=""
而产生的换行符)。你知道吗见Why dict.get(key) instead of dict[key]?
相关问题 更多 >
编程相关推荐