본문 바로가기
IT지식/Python

파이썬 if조건문과 들여쓰기

by 모두의 향연 2021. 10. 11.
728x90
반응형

1. 들여 쓰기 1

IDLE 소스 코드 편집 창에

 

x=10
if x==10:
    print('x가 10이 맞다면')
        print('10을 출력하세요')

 

실행을 해보면 두 번째 print 부분에서 unexpected indent 에러가 발생

올바르게 고치면,

 

x=10
if x==10:
    print('x가 10이 맞다면')
    print('10을 출력하세요')

 

<출력>

x가 10이 맞다면
10을 출력하세요

 

즉, if다음에 오는 코드들은 반드시 들여 쓰기 깊이가 같아야 함.

 

2. 들여 쓰기 2

만약, 첫 번째 print만 들여 쓰기를 하고 두 번째 print는 들여쓰기를 하지 않으면?

 

x=10
if x==10:
    print('x는 10입니다.')
print('맞습니다.')

 

<출력>

x는 10입니다.
맞습니다.

 

print 두 개가 모두 실행. 하지만 다음과 같이 x의 값이 다르다면?

 

x=10
if x==20:
    print('x는 20입니다.')
print('x는 10입니다.')

 

<출력>

x는 10입니다.

 

x가 10이라서 조건식을 만족하지 않으므로 첫 번째 print는 실행 안됨

두 번째 print는 들여 쓰기가 없어서 if와 상관없는 코드이므로 실행됨

이러한 코드는 한 줄 띄어 쓰면 보기에도 편하고 이해하기도 쉬워짐

 

x=10
if x==20:
    print('x는 20입니다.')


print('x는 10입니다.')

 

파이썬에서는 ':'가 나오면 다음 줄부터는 무조건 들여 쓰기를 한다는 점만 기억하면 됨

들여 쓰기는 4칸 or 2칸으로 해도 상관 없지만, '파이썬 코딩 스타일 가이드(PEP 8)'에서는 공백을 4칸으로 규정하므로 4칸을 권장함

728x90
반응형