반응형
파이썬 조건문에서 괄호 사용에 관한 간단한 질문이 있습니다.
다음 두 스 니펫은 똑같이 작동하지만 단순성 때문에 이것이 사실인지 궁금합니다.
>>> 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 이름 목록을 사용하여 Pandas Dataframe에서 열 이름을 변경하는 방법은 무엇입니까? (0) | 2020.10.15 |
---|---|
파이썬으로 배열 섞기, 파이썬으로 배열 항목 순서 무작위 화 (0) | 2020.10.15 |
파이썬 발전기에서 한 항목 만 선택하는 방법은 무엇입니까? (0) | 2020.10.15 |
파이썬 'cv2'라는 모듈이 없습니다. (0) | 2020.10.14 |
파이썬 x 초마다 함수를 반복적으로 실행하는 가장 좋은 방법은 무엇입니까? (0) | 2020.10.14 |
댓글