Tengo una pregunta simple sobre el uso de paréntesis en las sentencias condicionales de Python.paréntesis en Python Conditionals
Los siguientes dos fragmentos funcionan igual, pero me pregunto si esto solo es cierto por su simplicidad;
>>> import os, socket
>>> if ((socket.gethostname() == "bristle") or (socket.gethostname() == "rete")):
... DEBUG = False
... else:
... DEBUG = True
...
>>> DEBUG
y ahora sin paréntesis
>>> import os, socket
>>> if socket.gethostname() == "bristle" or socket.gethostname() == "rete":
... DEBUG = False
... else:
... DEBUG = True
...
>>> DEBUG
¿Alguien podría ayudar a arrojar algo de luz sobre esto? ¿Hay algún caso en el que definitivamente los use?
La precedencia del operador de C es rara. Python no lo es. Por lo tanto, en Python, los parientes no están tan a menudo justificados como en C. – delnan
Pero también está la expresión idiomática de python "explícita es mejor que implícita". Si hay una posibilidad de confusión, guárdalos. – Wilduck
Sí, los C son mucho más raros que los de Python. Aún así, tratar de mantenerlos correctos entre los varios idiomas que uno usa puede ser una fuente de confusión en sí mismo. – kindall