본문 바로가기
파이썬

파이썬 조건 문의 괄호

by º기록 2020. 10. 15.
반응형

파이썬 조건문에서 괄호 사용에 관한 간단한 질문이 있습니다.

다음 두 스 니펫은 똑같이 작동하지만 단순성 때문에 이것이 사실인지 궁금합니다.

>>> 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

누구든지 이것에 대해 밝힐 수 있습니까? 꼭 사용해야하는 경우가 있나요?

 

해결 방법

 

부울 이전에 비교가 발생하는 다른 답변은 100 % 정확합니다. 대안으로 (시연 한 것과 같은 상황의 경우) 조건을 결합하는 방법으로 이것을 사용할 수도 있습니다.

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

이렇게하면 socket.gethostname에 대한 별도의 호출이 절약되고 프로젝트가 커지거나 추가 호스트를 승인해야 할 때 가능한 유효한 값을 더 쉽게 추가 할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/4740419

 

 

반응형

댓글