python - Python 条件中的括号

标签 python conditional-statements parentheses

我有一个关于在 Python 的条件语句中使用括号的简单问题。

以下两个片段的工作原理相同,但我想知道这是否只是因为它的简单性:

>>> import os, socket
>>> if ((socket.gethostname() == "bristle") or (socket.gethostname() == "rete")):
...     DEBUG = False
... else:
...     DEBUG = True
... 
>>> DEBUG

现在没有括号

>>> import os, socket
>>> if socket.gethostname() == "bristle" or socket.gethostname() == "rete":
...     DEBUG = False
... else:
...     DEBUG = True
... 
>>> DEBUG

任何人都可以帮助阐明这一点吗?在任何情况下我一定要使用它们吗?

最佳答案

比较发生在 bool 值之前的其他答案是 100% 正确的。作为替代方案(对于您所演示的情况),您也可以将其用作组合条件的一种方式:

if socket.gethostname() in ('bristle', 'rete'):
  # Something here that operates under the conditions.

这为您节省了对 socket.gethostname 的单独调用,并且随着项目的增长或您必须授权其他主机,您可以更轻松地添加其他可能的有效值。

关于python - Python 条件中的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740419/

相关文章:

python - 在运行多面测试之前,如何使用 python 正确执行全局固定装置?

maven - 在 Maven 中有条件地运行集成测试

bash - 在 bash 中逐列混合多个文件

Java - 括号和赋值

python - 如何在python中获取sudo用户名?

python - 文件在同一个文件夹中,但仍然得到 FileNotFoud

ruby-on-rails - Rails Date 与 Date.today 相比

java - 在 Querydsl 中设置括号

c# - 自动完成方法括号

python - 在 python 中将可能包含 None 的数组更改为包含 ""的数组