파이썬 : 함수와 모듈 예제와 설명
함수 정의 및 호출 (def)
함수는 프로그래밍에서 특정 작업을 수행하는 코드를 정의하고 재사용하기 위한 기본 단위입니다. def 키워드를 사용하여 함수를 정의하며, 함수의 이름과 필요한 매개변수를 명시합니다. 함수는 가독성을 높이고 코드의 중복을 줄이며 유지보수를 용이하게 만듭니다.
# 함수 정의
def greet():
print("Hello, World!")
# 함수 호출
greet() # 결과: Hello, World!
위 예제는 greet라는 단순한 함수를 정의하고 호출하는 방법을 보여줍니다. 호출 시 함수 내부의 코드가 실행되어 출력 결과를 생성합니다.
함수를 정의하면 프로그램 어디에서든 호출할 수 있어 코드가 더욱 체계적으로 구성됩니다.
매개변수와 반환값
함수는 매개변수를 통해 외부 데이터를 입력받아 작업을 수행하고, 결과를 반환할 수 있습니다. 매개변수는 함수가 보다 유연하게 동작하도록 도와줍니다.
# 매개변수와 반환값이 있는 함수
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 결과: 8
위의 add 함수는 두 개의 매개변수를 받아 값을 더한 후 반환합니다. 반환값은 함수 호출자가 사용할 수 있으며, 연산 결과를 다양한 방식으로 처리할 수 있게 합니다. 매개변수와 반환값은 함수의 활용 범위를 넓히는 중요한 요소입니다.
재귀 함수
재귀 함수는 함수가 자기 자신을 호출하는 특수한 유형의 함수입니다. 이를 사용하면 반복적인 문제를 간결하고 우아하게 해결할 수 있지만, 적절한 종료 조건이 없으면 무한 재귀에 빠질 위험이 있습니다.
# 재귀 함수로 팩토리얼 계산
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
print(factorial(5)) # 결과: 120
위 코드는 재귀 함수를 사용하여 5! (5팩토리얼)을 계산합니다. 종료 조건인 if n == 1이 없었다면 함수는 무한히 호출되었을 것입니다. 따라서 재귀 함수 작성 시 항상 종료 조건을 명확히 정의해야 합니다.
모듈과 패키지 사용법 (import)
모듈은 특정 기능이 구현된 파이썬 파일입니다. import 키워드를 사용하여 모듈을 불러오면, 미리 작성된 코드와 기능을 활용할 수 있습니다. 이를 통해 코드의 재사용성을 높이고 생산성을 향상시킬 수 있습니다.
import math
# math 모듈의 sqrt 함수 사용
print(math.sqrt(16)) # 결과: 4.0
위 예제는 파이썬 표준 라이브러리 중 하나인 math 모듈을 가져와, 제곱근을 계산하는 방법을 보여줍니다. 외부 라이브러리나 사용자 정의 모듈도 동일한 방식으로 가져올 수 있습니다.
쉽게 이해할 수 있는 예제 10개
두 수의 합을 계산하는 함수
def add_numbers(a, b):
return a + b
print(add_numbers(10, 20))
# 결과: 30
문자열을 출력하는 함수
def say_hello(name):
print(f"Hello, {name}!")
say_hello("Alice")
# 결과: Hello, Alice!
리스트의 합을 구하는 함수
def sum_list(numbers):
return sum(numbers)
# 함수 사용 예시
print(sum_list([1, 2, 3, 4])) # 결과: 10
짝수인지 홀수인지 확인하는 함수
def is_even(number):
if number % 2 == 0:
return True
return False
print(is_even(4)) # 결과: True
문자열의 길이를 반환하는 함수
def string_length(s):
return len(s)
print(string_length("hello")) # 결과: 5
리스트에서 최대값 찾기
def find_max(numbers):
return max(numbers)
# 함수 사용 예시
print(find_max([3, 7, 2, 8])) # 결과: 8
숫자를 제곱하는 함수
def square(n):
return n * n
# 함수 사용 예시
print(square(5)) # 결과: 25
리스트의 요소를 역순으로 출력하는 함수
def reverse_list(lst):
return lst[::-1]
# 함수 사용 예시
print(reverse_list([1, 2, 3])) # 결과: [3, 2, 1]
모듈을 이용한 랜덤 숫자 생성
import random
def random_number():
return random.randint(1, 100)
print(random_number()) # 결과: 1에서 100 사이의 임의의 정수
재귀 함수로 피보나치 수열 계산
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
print(fibonacci(6)) # 결과: 8
두 수를 곱하는 함수
def multiply(a, b):
return a * b
리스트의 평균을 구하는 함수
def average(numbers):
return sum(numbers) / len(numbers)
문자열을 거꾸로 반환하는 함수
def reverse_string(s):
return s[::-1]
세 수 중 가장 큰 값을 반환하는 함수
def max_of_three(a, b, c):
return max(a, b, c)
# 함수 사용 예시
print(max_of_three(10, 5, 8)) # 결과: 10
print(max_of_three(3, 7, 4)) # 결과: 7
문자열에서 모음의 개수를 세는 함수
def count_vowels(s):
return sum(1 for char in s if char.lower() in 'aeiou')
# 사용 예시
text = "Hello World"
print(count_vowels(text)) # 결과: 3
리스트에서 특정 값의 개수를 세는 함수
def count_occurrences(lst, value):
return lst.count(value)
# 사용 예시
numbers = [1, 2, 2, 3, 2, 4]
print(count_occurrences(numbers, 2)) # 결과: 3
정수가 양수인지 음수인지 판별하는 함수
def is_positive(n):
return n > 0
두 문자열이 같은지 확인하는 함수
def are_equal(str1, str2):
return str1 == str2
# 사용 예시
print(are_equal("hello", "hello")) # True
print(are_equal("hello", "world")) # False
주어진 숫자 리스트의 곱을 반환하는 함수
def multiply_list(numbers):
result = 1 # 곱셈을 위해 초기값을 1로 설정
for num in numbers:
result *= num # 각 숫자를 결과값에 곱함
return result
# 테스트
print(multiply_list([1, 2, 3, 4])) # 출력: 24
print(multiply_list([5, 6, 7])) # 출력: 210
숫자가 짝수면 "짝수", 홀수면 "홀수"를 반환하는 함수
def check_odd_or_even(number):
if number % 2 == 0:
return "짝수"
else:
return "홀수"
# 테스트
print(check_odd_or_even(4)) # 출력: 짝수
print(check_odd_or_even(7)) # 출력: 홀수
'코딩 > PYTHON' 카테고리의 다른 글
파이썬 파일 처리 가이드: 입출력부터 데이터 관리까지 요약 (0) | 2024.12.05 |
---|---|
파이썬 os 모듈 완벽 가이드: 운영 체제와의 상호작용 방법 (0) | 2024.12.03 |
파이썬 논리 연산과 조건문 조합 (0) | 2024.11.30 |
파이썬 반복문: 제어 흐름과 논리 (0) | 2024.11.30 |
파이썬 조건문: 제어 흐름과 논리 (1) | 2024.11.29 |
댓글