개요
한 파일로 묶인 변수와 함수의 모음
특정한 기능을 하는 코드가 작성된 파이썬 파일(.py)
예시
파이썬의 math 모듈
파이썬이 미리 작성해 둔 수학 관련 변수와 함수가 작성된 모듈
# Case 1
import math
print(math.pi) # 3.141592653589793
print(math.sqrt(4)) # 2.0
# Case 2
from math import pi,sqrt
print(pi) # 3.141592
print(sqrt(4)) # 2.0
모듈 가져오기
import 문이 필요모듈 사용하기
모듈 주의사항
만약 서로 다른 모듈이 같은 이름의 함수를 제공할 경우 문제 발생
마지막으로 import 된 이름으로 대체
from math import pi, sqrt
from my_mayh import sqrt
# 그래소 모듈 내 모든 요소를 한번에 import 하는 * 표기는 권장하지 않음
from math import *
파이썬 언어와 함께 제공되는 다양한 모듈과 패키지의 모음
패키지
- 관련된 모듈들을 하나의 디렉토리에 모아 놓은 것
- 패키지 사용하기
```python
# 패키지 3개 : my_package, math, statistics
# 모듈 2개 : my_math, tools
from my_package.math import my_math
from my_package.statistics import tools
print(my_math.add(1,2)) # 3
print(tools.mod(1,2)) # 1
```
- PSL 내부 패키지
- 설치 없이 바로 import 하여 사용
- 외부 패키지
- pip를 사용하여 설치후 import 필요
- 외부 패키지들을 설치하도록 도와주는 파이썬의 패키지 관리 시스템
- 사용목적
- 모듈들의 이름공간을 구분하여 충돌을 방지
- 모듈들을 효율적으로 관리하고 재사용할 수 있도록 돕는 역할
라이브러리 > 패키지 > 모듈
조건에 따라 코드 블록을 실행하거나 반복적으로 코드를 실행if 표현식:
코드 블록
elif 표현식:
코드 블록
else:
코드 블록주어진 코드 블록을 여러 번 반복해서 실행되는 구문
for / while
for
임의의 시퀀스의 항목들을 그 시퀀스에 들어있는 순서대로 반복
반복 횟수가 명확하게 정해져 있는 경우에 유용
예를 들어 리스트, 튜플, 문자열
등과 같은 시퀀스 형식의 데이터를 처리할 때
for 변수 in 반복가능한 객체:
코드 블록
원리
# 1. 리스트 내 첫 항목이 반복 변수에 할당되고 코드 블록이 실행
# 2. 다음으로 반복 변수에 리스트의 2번째 항목이 할당되고 코드블록이 다시 실행
# 3. ... 마지막으로 반복 변수에 리스트의 마지막 요소가 할당되고 코드 블록이 실행
# Case 1
items = ['apple', 'banana', 'cocount']
for item in items:
print(item)
"""
apple
banana
cocount
"""
# Case 2
country = 'korea'
for char in country:
print(char)
"""
k
o
r
e
a
"""
# Case 3
for char in range(5):
print(char)
"""
0
1
2
3
4
"""
# Case 4
my_dict = {
'x' : 10,
'y' : 20,
'z' : 30,
}
for key in my_dict:
print(key)
print(my_dict[key])
"""
x
10
y
20
z
30
"""
# Case 5 (중첩된 반복문)
outers = ['A', 'B']
inners = ['c', 'd']
for outer in outers:
for inner in inners:
print(outer, inner)
"""
A c
A d
B c
B d
"""
# Case 6 (중첩 리스트 순회)
elements = [['A', 'B'],['c', 'd']]
for elem in elements:
print(elem)
"""
['A', 'B']
['c', 'd']
"""
↓
for elem in elements:
for itme in elem:
print(item)
"""
A
B
c
d
"""
반복 가능한 객체(iterable)
while
주어진 조건식이 참인 동안 코드를 반복해서 실행
== 조건식이 거짓이 될때가지 반복
반복 횟수가 불명확하거나 조건에 따라 반복을 종료해야 할 때 유용
예를 들어 사용자의 입력을 받아서 특정 조건이 충족될 때까지 반복하는 경우
기본 구조
while 조건식:
코드 블록
예시
# Case 1
a = 0
while a < 3:
print(a)
a += 1
print('끝')
"""
0
1
2
끝
"""
while 문은 반드시 종료 조건이 필요
break
continue
간결하고 효율적인 리스트 생성 방법
[expression for 변수 in iterable]
list(expression for 변수 in iterable)
활용
numbers = [1, 2, 3, 4, 5]
squared_numbers = []
for num in numbers:
squared_numbers.append(num**2)
print(squared_numbers) # [1, 4, 9, 16, 25]
↓
numbers = [1, 2, 3, 4, 5]
squared_numbers = [num**2 for num in numbers]
print(squared_numbers) # [1, 4, 9, 16, 25]
참고
[expression for 변수 in iterable if 조건식]
list(expression for 변수 in iterable if 조건식)
아무런 동작도 수행하지 않고 넘어가는 역할
예시
# Case 1
# 코드 작성중 미완성 부분
def my_function():
pass
# Case 2
# 조건문에서 아무런 동작을 수행하지 않아야 할 때
if condition:
pass # 아무런 동작도 수행하지 않음
else:
# 다른 동작 수행
# Case 3
# 무한 루프에서 조건이 충족되지 않을 때 pass를 사용하여 루프를 계속 진행하는 방법
while True:
if condition:
break
elif condition:
pass # 루프 계속 진행
else :
pritn('..')
iterable 객체의 각 요소에 대해 인덱스와 함께 반환하는 내장함수
예시
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(f'인덱스 {index}: {fruit}')
"""
인덱스 0: apple
인덱스 1: banana
인덱스 2 : cherry
"""