강의 목표
- 함수의 정의와 호출 방법을 이해하고, 파이썬 모듈을 사용하여 코드를 구조화하는 방법을 배웁니다. 이렇게 사용하면 코드의 가독성을 높이고, 유지보수가 용이해지며, 더 큰 프로젝트에서 효과적으로 작업할 수 있습니다.
목차
함수
함수의 정의와 호출
함수는 특정 작업을 수행하는 코드 블록입니다. 메소드라고 부르는 분들도 계시는데, 클래스로 작업을 많이 하신 분들은 약간 자연스럽게 나오시는 것 같습니다. 아무튼 파이썬에서 함수를 정의하려면 def 키워드를 사용합니다. 함수를 호출하여 정의된 작업을 수행할 수 있습니다.
# 함수 정의
def greet(name):
return f"Hello, {name}!"
# 함수 호출
print(greet("Alice"))
매개변수와 반환값
함수는 입력값(매개변수)을 받아 작업을 수행하고, 결과를 반환할 수 있습니다. 함수는 return 문을 사용하여 값을 반환합니다. 파이썬에서 출력할 때 사용하는 print도 함수입니다.
def add(a, b):
return a + b
result = add(5, 3)
print(result) # 출력: 8
기본값 매개변수와 키워드 인자
함수의 매개변수에는 기본값을 지정할 수 있습니다. 즉, 함수 호출 시 매개변수에 값을 전달하지 않으면, 기본값으로 지정된 값이 사용됩니다. 쉽게 말해, 매개변수에 다른 값을 입력하지 않으면 함수는 처음에 설정된 값으로 동작하게 됩니다.
이 기능을 사용하는 이유는 여러 가지가 있지만, 저 같은 경우 주로 초기값이 없는 상태에서 발생할 수 있는 에러를 줄이기 위해 사용합니다. 예를 들어, 특정 매개변수를 필수적으로 입력받아야 하는 상황이 아니라면, 기본값을 설정해둠으로써 예상치 못한 오류를 방지할 수 있습니다.
또한, 매개변수를 입력하지 않았을 때 기본값이 제대로 적용되는지 확인할 수 있어, 이후 코드 수정이나 디버깅이 용이해집니다. 그래서 저는 함수 매개변수에 기본값을 자주 활용합니다.
def greet(name="Guest"):
return f"Hello, {name}!"
print(greet()) # 출력: Hello, Guest!
print(greet("Bob")) # 출력: Hello, Bob!
람다 함수
람다 함수는 간단한 익명 함수를 작성할 때 사용됩니다. 함수 이름 없이 정의할 수 있으며, 단일 표현식을 처리하여 반환합니다. 이런 이유로 람다 함수는 간단한 일회성 작업이나 짧은 코드에서 유용하게 쓰입니다.
square = lambda x: x * x
print(square(4)) # 출력: 16
모듈
모듈의 개념과 사용법
모듈은 파이썬 파일로, 관련된 함수, 클래스, 변수 등을 모아둔 것입니다. import 키워드를 사용하여 모듈을 불러와 사용할 수 있습니다. C언어에서 사용하는 include와 같은 역할입니다.
import math
print(math.sqrt(16)) # 출력: 4.0
표준 라이브러리 모듈 사용
파이썬은 많은 표준 라이브러리 모듈을 제공합니다. 이들은 다양한 기능을 포함하고 있어, 복잡한 작업을 쉽게 수행할 수 있습니다. math, datetime, os, sys, json 등이 있습니다.
import random
print(random.randint(1, 10)) # 1과 10 사이의 랜덤한 정수 출력
사용자 정의 모듈 작성
사용자 정의 모듈을 작성하여, 다른 파일에서 이를 가져와 사용할 수 있습니다. 새로운 .py 파일을 만들어 함수나 변수를 정의하고, 이를 다른 파일에서 import하여 사용합니다.
아래처럼 my_module.py로 코드를 작성하고 저장합니다.
def multiply(a, b):
return a * b
그러면 주로 동작이 되는 코드에서 가져와서 사용할 수 있게됩니다.
import my_module
result = my_module.multiply(3, 4)
print(result) # 출력: 12
모듈 검색 경로와 패키지
파이썬은 모듈을 불러올 때, 특정 경로에서 모듈을 검색합니다. 이를 sys 모듈을 사용해 확인할 수 있습니다. 또한, 패키지를 사용하여 모듈을 계층 구조로 관리할 수 있습니다. 그렇기 때문에 모듈을 직접 새로 만들었다면 경로를 잘 확인하셔야 합니다.
import sys
print(sys.path) # 모듈 검색 경로 출력
연습문제
- 문제 1: 두 숫자를 더하는 함수 작성 (add_numbers)
- 문제 2: 리스트 요소의 합을 구하는 함수 작성 (sum_list)
- 문제 3: 문자열을 소문자로 변환하는 함수 작성 (to_lowercase)
- 문제 4: 사용자 정의 모듈을 만들어 함수 호출 (my_module.py, multiply)
- 문제 5: math 모듈을 사용하여 숫자의 제곱근 계산 (calculate_square_root)
마무리
이 정도를 하실 수 있으시다면 일단 어느정도 파이썬을 사용할 수 있는 상태가 되었다고 볼 수 있을 것 같습니다. 다음부터는 조금씩 PyQT의 내용도 추가해서 진행하겠습니다.
아티스트를 위한 파이썬과 PyQt5 : 2강 - 변수와 데이터 타입, 조건문과 반복문
아티스트를 위한 파이썬과 PyQt5: 4강 - 파일 입출력, 예외 처리, 그리고 주요 자료구조
'이론 & 팁' 카테고리의 다른 글
아티스트를 위한 파이썬과 PyQt5: 4강 - 파일 입출력, 예외 처리, 그리고 주요 자료구조 (0) | 2024.08.16 |
---|---|
파이썬 기초 연습문제 및 풀이: 함수와 모듈 (0) | 2024.08.16 |
파이썬 기초 연습문제 및 풀이: 변수, 데이터 타입, 조건문, 반복문 5 (0) | 2024.08.13 |
파이썬 기초 연습문제 및 풀이: 변수, 데이터 타입, 조건문, 반복문 4 (0) | 2024.08.13 |
파이썬 기초 연습문제 및 풀이: 변수, 데이터 타입, 조건문, 반복문 3 (0) | 2024.08.13 |