if문에서 여러 줄에 걸쳐서 조건문을 쓰려면 어떻게 하죠?


발생하는 문제 및 실행환경

if에 조건을 여러 줄에 걸쳐서 쓸 때 어떤 방법을 써야 되나요?

if (cond1 == 'val1' and cond2 == 'val2' and
    cond3 == 'val3' and cond4 == 'val4'):
    do_something

이렇게 쓰는 건 cond3do_something이랑 같은 줄에 있어서 코드가 더러워 보여요

파이썬에서는 보통 4칸 띄우는 걸로 들여쓰기를 하니까 이렇게도 써 봤는데

if (    cond1 == 'val1' and cond2 == 'val2' and
        cond3 == 'val3' and cond4 == 'val4'):
    do_something

이것도 좀 이상합니다. PEP에서 정해진 규칙이 있나요?

  • 2016년 01월 27일에 작성됨

조회수 420


1 답변


좋아요
0
싫어요
채택취소하기

관련한 스타일 가이드는 PEP0008에 있습니다.

보통은 두 번째 줄부터 들여 쓰기 하는 방식을 많이 쓰고

if (cond1 == 'val1' and cond2 == 'val2' and 
       cond3 == 'val3' and cond4 == 'val4'):
    do_something

괄호로 묶어놨기 때문에

if (   
       cond1 == 'val1' and cond2 == 'val2' and 
       cond3 == 'val3' and cond4 == 'val4'
   ):
    do_something

#혹은

if    (cond1 == 'val1' and cond2 == 'val2' and 
       cond3 == 'val3' and cond4 == 'val4'):
    do_something

으로 써도 됩니다.

스타일 가이드에서는 권장하지 않지만 괄호를 제거한 후 슬래시(\)를 쓰는 것도 가능합니다

if cond1 == 'val1' and cond2 == 'val2' and \
   cond3 == 'val3' and cond4 == 'val4':
    do_something

#혹은

if cond1 == 'val1' and cond2 == 'val2' and \
                       cond3 == 'val3' and \
                       cond4 == 'val4':
    do_something
  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close