<개인공부>/[Python]

[python] 파이썬 if , else, elif, 조건문에 대해서

사용자 BlockDMask 2019. 12. 3. 02:59
반응형

안녕하세요. BlockDMask 입니다.

요즘 파이썬 공부를 한창 하고 있는데요.

저는 C++을 굉장히 많이사용하고 있는데, 파이썬은 중괄호도 없고 ; 세미콜론도 없어서 코드작성할때 습관성 오타가 많이 나네요.

(학교다닐때 C언어 시험때 세미콜론 안붙여서 틀렸는데, 파이썬은 세미콜론 없는게 정상이라니 .. 문화충격 ..)

잡담은 이만하고, 오늘은 파이썬의 if 제어문에 대해서 알아보려고 합니다.

다른 언어와 의미하는 바는 같으나 사용하는 키워드가 다르기 때문에 정리가 한번 필요하다고 느꼈습니다.

그럼 이제 시작 하겠습니다.


<목차>

1. if 문이란?

2. if, else, elif 는 무엇이죠?

3. if, else, elif 예제

4. if 문에서 사용하는 조건문에 대해서.

5. 다양한 if 조건문 예제


1. if 문이란?


▶ 일상 생활에서의 if 문

if를 번역하면 "만약에~" 입니다.

우리는 일상생활에서도 이 말을 많이 사용하는데요.

예시를 들어보겠습니다. "예시는 예시일 뿐 오해하지 말자" 입니다.


만약에 제가 어떤 여자한테 고백을 할지 말지 고민을 하는 상황이라 하면, 우리는 이런 생각을 하겠죠

고백을 했는데 만약 받아주면? 만약 받아주지 않으면? 어떻하지?

그럼 고백 받아주면 영화보자고 해야지!

고백 안받아주면 .. 친구들이랑 술이나 마셔야겠다.

이런 생각 많이 하시죠?


▶ 파이썬에서 if 문

이런 "만약에"에 대한 처리를 파이썬에서는 if 조건문을 이용해서 처리를 합니다.

파이썬 문법을 이용하여 if 를 만들면 아래와 같이 됩니다.


if 고백이 성공하면:

영화보러 가자고 한다.

else: 

친구들이랑 술이나 퍼마셔야지


이런식으로 사용할 수 있습니다.


자세히 보면 if와 else 문자의 끝에 콜론(:)이 붙어있는게 보이나요?

이것은 쉽게 말하면 파이썬에서 "다음 줄에 문법이 이어집니다" 라는 것을 알려주는 것입니다.

그리고 그 다음줄에는 위의 if, else 문 보다는 "한단계 들여쓰기"하여서 문법을 작성하면 컴퓨터가 "아 위에 있는 if, else 에 포함된 문법이구나"하고 인식하게됩니다.


2. if, else, elif 는 무엇이죠?


▶ if, else, elif 를 한글로 바꿔보면?

if     => 만약에

else => 만약에 그렇지 않으면

elif  => else if => 만약 그렇지 않으면 이건 어때?


이렇게 생각하면 좋을것 같습니다.


▶ 일상생활에서 if, else, elif

(if)     만약 주머니에 천원이 있으면 복권을 사고

(elif)  그렇지 않고 만약에 오백원이 있으면 껌을 사고

(else) 그렇지 않으면 그냥 집으로 간다.


▶ 파이썬에서의 if, else, elif

if 주머니 == 1000원:

복권 구매

elif 주머니 == 500원:

껌 구매

else:

그냥 집에나 가자


이런식으로 표현이 가능합니다.

if, elif, else 의 끝에는 콜론( : ) 이라는 것을 붙여서 "아래쪽에 문법이 이어진다"는 것을 알려줍니다.

그 후에 들여쓰기로 구분을해서 원하는 동작을 하게 만듭니다.


else와 elif는 if가 있어야 사용 가능하고, if문은 맨앞에 한번 올 수 있습니다.

각각의 if는 따로따로 사용가능 하지만 이어져서 사용은 불가능합니다.


1. if 만 사용가능

2. if else 사용가능

3. if elif 사용가능

4. if elif elif elif elif ........ 사용가능

5. if elif elif elif elif ........else 사용가능

6. if else else 사용 불가능

7. if elif else elif 사용 불가능

8. if else elif 사용 불가능

9. elif만 사용 불가능

10. else만 사용 불가능


3. if, else, elif 예제


▶ if, else 사용

# if else 사용
name = "BlockDMask"
if name == "BlockDMask":
print("이름이 맞습니다.")
else:
print("이름이 다릅니다.")


▶ if, else, elif 사용

# if elif else 예제.
pocket = 1000
if pocket == 1000:
print("복권 구매")
elif pocket == 500:
print("껌 구매")
else:
print("집이나 가자")


▶ if, if, if 사용 이지만 아래의 경우에는 if > elif > else 가 더 읽기 좋고 더 좋은 코드 입니다.

# if 만 연속 사용.
# 이런식으로 사용할 수 있지만, 이렇게 관계가 있는 것들을 분리할때는
# elif 로 묶어주는것이 더 가독성이 좋지 않을까 싶습니다.
num = 10
if num > 10:
print("숫자가 10보다 크네요")
if num < 10: # elif 로 하는것이 가독성에 더 좋음
print("숫자가 10보다 작네요")
if num == 10: # elif 혹은 else로 하는것이 가독성에 더 좋음, 이번경우 else가 더 좋
print("숫자가 10이네요.")


▶ 각자 판단할 것이 다르면 if, if, if 사용

# if 만 연속사용.
# 이렇게 각자 if 문이 처리해야할것들이 독립적인 경우에는 따로따로 해주는것이 맞습니다.
a = "사과"
b = "바나나"
c = "치즈"
if a == "사과":
print("사과 입니다.")
if b == "바나나":
print("바나나 입니다.")
if c == "치즈":
print("치즈 입니다.")


4. if 문에서 사용하는 조건문에 대해서.


조건문은 비교연산과 논리연산으로 나누어 집니다.

if 에서부터 : 사이의 조건이 true인 경우 if 내부로 들어가게 됩니다.

조건이 true인지 false 인지를 


▶ 비교연산의 종류

1. ==, !=

같은지 다른지를 판단하는 연산입니다.

a = 10

b = 20

if a == b:

print("같다")


if a != b:

print("다르다")


2. <, >,  >=, <=

큰지 작은지 비교하는 연산입니다.

if a <= b:

print("a가 b보다 작거나 같다")


if a > b:

print("a가 b보다 크다")


▶ 논리연산의 종류

1. and, or, not

"a and b" =  a 와 b 가 둘다 true 이어야 true

"a or b" = a 또는 b 둘중 하나만 true이면 true

"not a" = a가 아니어야 true


2. in, not in

in과 not in은 특정 자료형 안에 하나의 요서가 있는가 없는가를 구분하게 됩니다.

in과 not in을 사용하는 자료현은 리스트, 튜플, 문자열이 있습니다.


if 10 in [10, 11, 12]:            //true

print("10 포함되어있음")


if 10 not in [10, 11, 12]:    //포함되지 않아야 true이므로 이 if 조건문은 false를 반환

print("10 포함 되어있음 안됨")



5. 다양한 if 조건문 예제


a = "사과"
b = "바나나"
c = "치즈"
if a == "사과" or b == "안바나나": # true
print("사과 이거나 바나나 입니다.")

if a == "사과" and b == "바나나": # true
print("사과 이고 바나나 입니다.")

if not a == "사과": # a가 사과인데 not 이므로 false
print("사과가 아니어야 여기 들어옵니다.")
a = [1, 2, 3, 4, 5, 6, 7, 8]
if 1 in a:
print("a 리스트에 1이 포함되어있습니다.")
elif 10 in a:
print("a 리스트에 10이 포함 되어있습니다.")

파이썬 if문은 이와 같이 사용하게 됩니다. 궁금한 점이나 질문이 있으면 댓글 달아주시면 최대한 빠르게 답변 드리겠습니다. 감사합니다.

반응형