Python/제어문

Python if 조건문

Yonggyu 2023. 9. 14. 12:41
반응형

일반적으로 프로그램은 위에서 아래로 진행한다. 하지만 좀더 효과적인 프로그램을 작성하기 위해 조건을 검사하여 동작의 흐름을 바꿔야한다 그럴때 쓰이는것이 조건 if문이다.

if 조건문:
	수행문

보통 if 문은 조건문과 수행문으로 나뉜다.

조건문은 해당 조건이 참일때 수행문으로 다음 코드를 실행한다고 보면된다.

조건문앞에는 :(콜론)를 붙여줘야하고 if문에 속한 모든 수행문은 들여쓰기가 같아야한다.

 

 

if ~ else 문

기본 if 문은 조건식이 거짓이면 아무것도 수행하지않지만 else를 추가하면 거짓일때를 수행한다.

a=4
if a==3:
	print(a)
else:
	print("error")
# 결과값은 error

예시를 보면 a=4여서 거짓의 수행문을 수행해 결과값이 error가 나온다.

 

 

if 문 형변환

if문의 조건문은 True, False를 반환하기때문에 반드시 bool의 자료형으로 결과가 반환된다. 위의 예시도 비교연산자를 사용하여 결과값이 False가 나온것이다.

비교연산자를 사용하지않아 다른 자료형이 나왔을땐 자동으로 bool로 형변환을 한다.

money = 3000

if money:
    print(money)
else:
    print("거짓")
    # 결과값은 3000

예시를 보면 money = 3000이고 정수자료형인데 이 정수자료형을 True로 형변환하여 결국 print(money)를 수행하게된다. 

 

money = 3000

if money+100:
    print(money)

만약 이렇게 조건식이 있다고 가정하자 그렇다면 money는 얼마가 출력되어야 할까

정답은 3000이다. 왜냐 money + 100도 결국 정수자료형인셈이라 True로 반환이 되고 money+100이 변수에 저장되지않아 print(money)가 수행되어 3000이된다.

 

 

 

In 맴버연산자

묶음자료형의 조건을 붙일때에는 in을 사용하여 조건을 붙인다.

in은 맴버 연산자로서 어떤 묶음 자료가 있을 때 그 자료에서 특정값이 존재하는가를 찾아 있으면 True, 없으면 False를 반환한다.

 

nums = "study"

if 's' in nums:
    print("있다")
else:
    print("없다") 
# 결과는 있다.

예시를 보면 묶음자료형인 문자열 "study"가 nums변수안에 할당되어있다.

조건문은  's'가 존재하는가 를 묻는다. 존재하기 때문에 "있다"를 출력

 

nums = "study"

if 'o' not in nums:
    print("참")
else:
    print("거짓") 
# 결과는 참.

반대로 not in 을 사용하면 'o'가 없으면 참이기 때문에 참의 수행문을 수행한다. (not in은 존재하면 else)

 

 

 

728x90
반응형