1. 함수의 기본 개념
1.1 함수란 무엇인가
함수는 반복적으로 사용되는 코드를 묶어, 재사용할 수 있도록 하는 코드의 블록입니다. 특정 작업을 수행하기 위해 정의되며, 필요할 때 호출하여 사용할 수 있습니다.
함수는 코드의 재사용성을 높이고, 프로그램을 모듈화하여 가독성을 개선합니다.
1.2 함수 정의 및 호출
Python에서 함수를 정의하려면 def
키워드를 사용합니다. 함수가 정의된 후에는 함수 이름을 사용해 호출할 수 있습니다.
def say_hello():
print("Hello, Python!")
say_hello() # 함수 호출 -> 출력: Hello, Python!
함수는 원하는 만큼 여러 번 호출할 수 있습니다.
1.3 매개변수와 반환값 (return)
함수는 매개변수를 통해 외부에서 값을 전달받아 처리할 수 있으며, return
키워드를 사용해 결과값을 반환할 수 있습니다.
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 출력: 8
매개변수 a
와 b
에 전달된 값이 함수 내부에서 계산되고, 그 결과를 반환합니다.
1.4 기본 매개변수와 키워드 매개변수
함수에서 매개변수에 기본값을 설정할 수 있으며, 이를 기본 매개변수라고 합니다. 또한 함수 호출 시 키워드를 사용해 매개변수에 값을 전달할 수 있습니다.
def greet(name="Guest"):
print(f"Hello, {name}!")
greet() # 출력: Hello, Guest!
greet("Alice") # 출력: Hello, Alice!
기본 매개변수는 값을 전달하지 않을 때 기본값을 사용합니다. 키워드 매개변수를 사용할 경우, 매개변수 이름을 명시적으로 지정할 수 있습니다.
def power(base, exponent=2):
return base ** exponent
print(power(3)) # 출력: 9 (3^2)
print(power(2, exponent=3)) # 출력: 8 (2^3)
2. 함수 활용하기
2.1 여러 값을 반환하는 함수
Python 함수는 여러 값을 tuple
형태로 반환할 수 있습니다.
def get_min_max(numbers):
return min(numbers), max(numbers)
numbers = [3, 5, 1, 9, 2]
minimum, maximum = get_min_max(numbers)
print(f"최소값: {minimum}, 최대값: {maximum}")
이 함수는 리스트에서 최소값과 최대값을 반환합니다.
2.2 함수에서의 변수의 범위 (지역 변수와 전역 변수)
변수는 함수 내부에서 정의된 지역 변수와 함수 외부에서 정의된 전역 변수가 있습니다. 함수 내부에서 정의된 변수는 함수가 끝나면 사라집니다.
x = 10 # 전역 변수
def change_value():
x = 5 # 지역 변수
print(x)
change_value() # 출력: 5
print(x) # 출력: 10 (전역 변수는 변하지 않음)
함수 내부에서 전역 변수를 수정하려면 global
키워드를 사용해야 합니다.
2.3 재귀 함수 소개 (간단한 예제)
재귀 함수는 자기 자신을 호출하는 함수입니다. 주로 반복적인 작업이나 문제를 단계적으로 해결할 때 사용됩니다.
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
print(factorial(5)) # 출력: 120
위 함수는 재귀적으로 호출하여 5! = 5 * 4 * 3 * 2 * 1을 계산합니다.
3. 모듈과 패키지
3.1 모듈이란 무엇인가
모듈은 Python 파일(.py
)로서, 함수와 변수, 클래스 등을 포함하여 재사용 가능한 코드 블록입니다. 모듈을 사용하면 코드의 유지보수성과 재사용성을 높일 수 있습니다.
Python에는 기본 제공 모듈(표준 모듈)이 있으며, 사용자 정의 모듈을 직접 만들 수도 있습니다.
3.2 표준 모듈 import 방법
Python에서는 import
키워드를 사용하여 모듈을 불러옵니다. 예를 들어, 수학 관련 함수들을 제공하는 math
모듈을 불러올 수 있습니다.
import math
print(math.sqrt(16)) # 출력: 4.0
또한 random
모듈을 사용하여 난수를 생성할 수 있습니다.
import random
print(random.randint(1, 10)) # 1과 10 사이의 난수를 출력
3.3 모듈을 이용한 간단한 프로그램 예제: math 모듈을 사용한 계산기
math
모듈을 사용하여 간단한 계산기를 만들어봅니다.
import math
def calculator():
num = float(input("숫자를 입력하세요: "))
print(f"제곱근: {math.sqrt(num)}")
print(f"제곱: {math.pow(num, 2)}")
print(f"로그(자연로그): {math.log(num)}")
calculator()
이 프로그램은 사용자가 입력한 숫자의 제곱근, 제곱, 자연로그 값을 출력합니다.
'python' 카테고리의 다른 글
6편 Python 기초 문법: 파일 입출력 (0) | 2024.11.12 |
---|---|
5편 Python 기초 문법: 딕셔너리와 집합 (1) | 2024.11.12 |
3편 Python 기초 문법: 반복문과 자료형 (0) | 2024.11.11 |
2편 Python 기초 문법 익히기 (1) | 2024.11.10 |
1편 Python 시작하기 (4) | 2024.11.10 |