Python 기초 실습 C4
Python 기초 실습 C4입니다. 함수 정의, 값 검증, 모듈 분리, import, __name__ == "__main__" 패턴과 실행 방법을 정리했습니다.
Python 기초 실습 C4
C4 실습은 함수와 모듈을 분리하는 단계다. 같은 코드를 반복해서 쓰기 시작하면 함수로 묶고, 파일이 길어지면 역할별 모듈로 나누는 습관을 들여야 한다. 이후 Flask 실습에서도 route 함수, 데이터 처리 함수, 템플릿을 자연스럽게 분리할 수 있다.
함수 기본형
def greet(name: str) -> str:
return f"Hello, {name}"
message = greet("devmes")
print(message)값 검증을 함수로 분리
함수는 단순히 줄 수를 줄이는 도구가 아니다. 특정 판단을 이름 붙여 재사용 가능하게 만드는 도구다.
def is_valid_port(port: int) -> bool:
return 1 <= port <= 65535
for value in [22, 80, 443, 70000]:
if is_valid_port(value):
print(f"{value} is valid")
else:
print(f"{value} is invalid")모듈 분리
파일을 두 개로 나눠서 함수 import를 연습한다.
python-c4/
├── main.py
└── network_utils.py# network_utils.py
def is_valid_port(port: int) -> bool:
return 1 <= port <= 65535
def normalize_host(host: str) -> str:
return host.strip().lower()# main.py
from network_utils import is_valid_port, normalize_host
host = normalize_host(" DEVmes.COM ")
port = 443
print(host)
print(is_valid_port(port))실행
mkdir -p python-c4
cd python-c4
vi network_utils.py
vi main.py
python main.py__name__ == "__main__"
모듈 파일에 테스트 코드를 직접 넣을 때는 if __name__ == "__main__": 아래에 둔다. 이렇게 하면 import될 때는 실행되지 않고, 해당 파일을 직접 실행할 때만 테스트 코드가 돈다.
# network_utils.py
def is_valid_port(port: int) -> bool:
return 1 <= port <= 65535
if __name__ == "__main__":
print(is_valid_port(22))
print(is_valid_port(70000))정리
- 반복되는 코드는 함수로 묶는다.
- 함수 이름은 코드가 하는 판단을 설명해야 한다.
- 파일이 길어지면 역할별 모듈로 분리한다.
- 직접 실행용 테스트 코드는
__name__ == "__main__"아래에 둔다.