본문 바로가기
Python/기본문법

Python 기본 문법 정리(2)

by rewyear 2024. 2. 17.

if문

조건에 따라 분기를 위한 문법으로서, 조건을 만족하면(True, 참) 그에 해당하는 수행문이 실행

if 조건문1:
	# 조건문 1이 충족 됬을 때, 수행할 내용
elif 조건문2:
	# 조건문 2이 충족 됬을 때, 수행할 내용
else
	# 위 조건문들을 충족하지 못할 때, 수행할 내용

 

다음과 같은 종류의 조건의 종류를 사용할 수 있다.

  • 비교 연산자
  • and / or / not 연산자
  • in / not in

비교 연산자

산술적인 비교를 통해 참, 거짓을 구별

비교 연산자 description
x < y x가 y보다 작을 경우 True
x > y x가 y보다 클 경우 True
x == y x와 y가 같을 경우 True
x != y x와 y가 같지 않을 경우 True
x >= y x가 y보다 크거나 같을 경우 True
x <= y x가 y보다 작거나 같을 경우 True
x=100
y=99

if x > y:
    print('x is bigger than y')
else:
    print('x is smaller than y or same')

 

x is bigger than y

 

and / or / not 연산자

하나의 조건문에 다수의 조건을 사용하기 위한 연산자

  • and의 경우 두 조건 모두 True여야 True
  • or의 경우 두 조건 중 하나만 True여도 True
  • not의 경우 어떤 조건에 대하여 반전(inverse), 즉 조건이 참이면 False, 거짓이면 True
temp = 40
mode=True

if temp > 30 and mode:
    print("Fan on") # temp가 30도 초과이고, Mode가 True여야 동작
else:
    print("Fan off")
    
if not mode:
	print("Auto Mode disable")
else:
    print("Auto Mode enable")
Fan on
Auto Mode enable

in / not in

파이썬에는 리스트, 튜플, 문자열에 포함되어 있는지 아닌지 판단할 수 있는 in / not in 조건문이 존재한다.

print(1 in [1, 2, 3]) # 리스트

print('a' in ('a', 'b', 'c')) # 튜플

word = 'w'
sentence = 'this is python language' # 문자열 
if word in sentence: 
    print("%c is included in %s" %(word, sentence))
else:
    print("%c is not included in %s" %(word, sentence))
True
True
w is not included in this is python language

 

if 관련 기타 문법

조건부 표현식: 하기의 코드와 같이 여려 줄로 작성된 if/else문을 한 줄의 표현할 수 있다.

구조는 변수 = 조건문이 True인 경우의 value if 조건문 else 조건문이 False인 경우의 value

temp = 35

if temp >= 90:
	status = "Over temperature"
else:
	status = "Normal temperature"
   
# 위의 조건문을 다음과 같이 한 줄로 표현할 수 있다.
status = "Grade A" if temp >= 90 else "Normal temperature"

print(status)

 

Normal temperature

 

pass: 조건문이 True여도 아무 일도 실행하지 않고 싶을경우 pass 키워드를 사용한다.

grade = 'A'

if grade in ['A', 'B', 'C', 'D']:
    pass
else:
    print("재수강하십시오.")

반복문(while / for)

반복적인 실행을 위해 반복문인 while 또는 for를 사용

while문

"""
while 조건문:
	# 조건문을 만족하는 동안 반복 수행할 내용
"""

count = 10

while count <= 10:
    count-=1
    
    if count == 3:
        break # 반복문 내부에서 실행 중 반복을 중단하고 나가려면 break 키워드를 사용
    
    if count % 2 == 0:
        continue # 반복문 내부에서 이후 실행문을 실행하지 않고 처음 문장으로 돌아가기 위해 continue 키워드 사용
    
    print(count)
9
7
5

 

for문

for문의 경우 while과 같은 반복문 이지만 다양한 조건 표현을 통해 반복문을 수행할 수 있는 문법이다.

기본적인 문법과 사용은 다음과 같다.

"""
for 변수 in 리스트 or 튜플 or 문자열
	# 조건문을 만족하는 동안 반복 수행할 내용
"""

test_words = ['a', 'b', 'c']
for x in test_words:
	print(x)
a
b
c

 

리스트의 요소인 튜플을 다음과 같이 (name, score)로 맵핑하여 for문 조건식의 인자로 사용하는 예시이다.

test_list = [("kim",90), ("lee",70), ("park",30)]

for (name, score) in test_list:
    print("%s는 %d점입니다." %(name, score))
kim는 90점입니다.
lee는 70점입니다.
park는 30점입니다.

 

for문은 while문과 마찬가지로 break, continue문을 사용할 수 있다.

total = 0
num_item = 0
item_price_list=[100, 60, 125, 210, 40, 50, 10]
    
for item in item_price_list:
    total += item
    num_item += 1
    
    if(total > 500):
        print("%d 번째 아이템 구매 시 예산을 초과합니다." %(num_item))
        break
    
    if item < 100: 
        continue
    else:
        print("%d 번째 품목의 가격이 100이 초과하므로 팀장의 결재가 필요합니다." %(num_item))

 

range 함수

파이썬 내장 함수인 range()는 숫자 리스트를 만들어 주는 함수로서 for문과 자주 사용 된다.

하기와 같이 숫자 하나를 인자로 사용하면 0부터 해당 숫자보다 작을 때 까지 리스트를 생성한다.

for i in range(10): # range(10) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
	print(i)
0
1
2
3
4
5
6
7
8
9

 

또는 range(start, end+1)와 같이 사용하게 되면 start부터 end까지의 숫자 리스트를 생성해 준다.

total = 0

for i in range(1, 11): 
	total += i

print(total) # 1부터 10까지의 합
55

 

다음과 같이 len()과 함께 리스트를 인덱싱할 때에도 주로사용한다.

score = [40, 85, 100, 73, 59]

for i in range(len(score)):
    print("%d번째 학생의 점수는 %d입니다." %(i, score[i]))
0번째 학생의 점수는 40입니다.
1번째 학생의 점수는 85입니다.
2번째 학생의 점수는 100입니다.
3번째 학생의 점수는 73입니다.
4번째 학생의 점수는 59입니다.
300x250

'Python > 기본문법' 카테고리의 다른 글

Python 기본 문법 정리(5)  (0) 2024.07.17
Python 기본 문법 정리(4)  (0) 2024.07.17
Python 기본 method  (0) 2024.02.17
Python 기본 문법 정리(3)  (0) 2024.02.17
Python 기본 문법 정리(1)  (0) 2024.02.17