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

조회수 6099회

발생하는 문제 및 실행환경

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에서 정해진 규칙이 있나요?

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
    

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.