파이썬에서는 공백이 정말 중요하다. 다른 언어에서는 탭을 하던 스페이스를 누르던 빌드에 아무 문제가 없었지만, 파이썬에서는 공백 문자인만큼 어떻게 하느냐에 따라 빌드가 실패할 수 있다. 따라서 들여쓰기에는 탭보단 공백4개를 입력하는게 일반적이다. 조건문 혹은 반복문에서 공백에 의한 에러를 자주 만날 수 있으니 주의하자.
- if문
>>> happy = True
>>> sad = False
>>> if happy == sad:
print("happy and sad")
else:
print("happy")
print("sad")
happy
sad
조건이 많다면 elif를 사용할 수 있다.
if score >= 90:
print('A학점')
elif score >= 80:
print('B학점')
elif score >= 70:
print('C학점')
elif score >= 60:
print('D학점')
else:
print('F학점')
- for문
for문은 파이썬 자료형 중 리스트, 딕셔너리 등의 값을 유용하게 출력할 수 있다.
>>> for num in [1,2,3]:
print(num)
1
2
3
>>> for st in ['hello', 'world', 'python']:
print(st)
hello
world
python
>>> score = {'국어':95, '영어':90, '수학':80}
>>> for item in score.keys():
print(item)
국어
영어
수학
>>> for item in score.values():
print(item)
95
90
80
>>> for key, value in score.items():
print('{0}과목 점수는 {1}점 입니다'.format(key, value))
국어과목 점수는 95점 입니다
영어과목 점수는 90점 입니다
수학과목 점수는 80점 입니다
이렇게 in 다음에 컬렉션이 오는 for문이 있고, range()를 사용하는 for문이 있다. range()는 지정된 범위 내 값을 생성하기 위한 내장함수이다. 사용 형식은 다음과 같다.
range(start, stop, step)
ex) range(10) -> 0,1,2,3,4,5,6,7,8,9
range(1, 11) -> 1,2,3,4,5,6,7,8,9,10
ragne(1, 11, 2) -> 1,3,5,7,9
>>> for i in range(0,11,2):
print(i)
0
2
4
6
8
10
특이하게도 파이썬의 for문에는 else를 사용할 수 있다. else 블록에 해당하는 부분은 반복 종료 시 실행된다.
for i in range(1,10):
ans = 2*i
print('2x{0} = {1}'.format(i, ans))
else:
print('구구단 2단을 종료합니다')
- while문
while문에도 else를 사용할 수 있다. 마찬가지로 else 블록에 해당하는 부분은 반복 종료 시 실행된다.
a=0
while a <10:
print(a)
a += 1
else:
print('a가 {0}이므로 종료합니다'.format(a))
무한 반복을 할 필요가 있다면 for문보다 while문 사용을 추천한다. 이럴 때 조건은 True로 정하고, 종료조건을 추가하여 break로 루프를 탈출하면 된다.
x = 0
while True:
x +=3
print(x)
if x>100 and x%3 == 0:
break
- list comprehension
리스트 각 element들에 대해 연산을 수행하면서 업데이트를 하는 반복문을 list comprehension이라고 한다. 사용 형태는 다음과 같다.
[표현식 for 변수 in 리스트객체]
>>> list1 = list(range(1,11))
>>> print(list1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list2 = [i*2 for i in list1]
>>> list2
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
이 코드를 for문으로만 구현할수도 있긴 하지만, 이왕 파이썬에서 제공하는 리스트 가공 처리 기법도 써보도록 하자.
여기서 더 발전하면 element를 필터링할 수도 있다.
[표현식 for 변수 in 리스트객체 if 조건식]
>>> list1 = list(range(1,11))
>>> print(list1)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list3 = [i**2 for i in list1 if i %2 ==1]
>>> list3
[1, 9, 25, 49, 81]
(이 글이 도움이 됐다면 광고 한번씩만 클릭 해주시면 감사드립니다, 더 좋은 정보글 작성하도록 노력하겠습니다 :) )
'간단 지식 > Python' 카테고리의 다른 글
08. 파이썬 모듈 & 유용한 함수 (0) | 2021.07.07 |
---|---|
07. 파이썬의 가변 매개변수 (0) | 2021.07.07 |
05. 문자열 format (0) | 2021.07.05 |
04. 문자열 함수 (0) | 2021.07.05 |
03. 웹 크롤링 - 주피터 노트북, 아나콘다, 파이썬 (0) | 2021.04.22 |