초보자를 위한 파이썬 내장함수 완벽 가이드
여러분 혹시,
abs, len, map, filter 이런 단어들 들어본 적 있으신가요?
이 짧고 강력한 단어들이 바로,
파이썬 내장함수의 세계로 가는 열쇠입니다!
안녕하세요! 파이썬을 배우고 계신 모든 초보자분들께 꼭 필요한 꿀정보를 전해드릴 시간이에요 😊
프로그래밍을 하다 보면 ‘반복되는 계산’이나 ‘데이터 필터링’ 같은 작업을 자주 하게 되죠.
이때마다 코드를 길게 써야 한다면 너무 비효율적이겠죠?
하지만 걱정 마세요! 파이썬에는 이미 잘 만들어진 내장 함수(built-in functions)가 있어서, 개발자가 직접 함수를 만들 필요 없이 아주 간단하게 원하는 작업을 처리할 수 있어요.
이번 글에서는 자주 쓰이는 파이썬 내장 함수들을 실전 예제와 함께 하나씩 짚어보며 소개할게요.
코딩을 처음 시작하신 분도, 파이썬을 어느 정도 만져보신 분도 모두 이해할 수 있도록 아주 친절하게 준비했습니다.
끝까지 함께 해보세요! 🚀
목차
1. 🧠 파이썬 내장함수란 무엇인가요?
파이썬을 처음 접할 때 가장 매력적인 부분 중 하나가 바로 “내장 함수”입니다.
별다른 설정 없이도 바로 쓸 수 있고, 작업을 빠르게 처리할 수 있어요.
그럼 ‘내장함수’가 정확히 뭘까요?
✔️ 내장함수(built-in function)의 정의
파이썬 내장함수란 파이썬 인터프리터에 기본으로 포함되어 있어서 import 없이 사용할 수 있는 함수입니다. 쉽게 말해, 파이썬을 설치하면 자동으로 따라오는 “기본 도구함”이라고 생각하면 돼요.
이 함수들은 기본적인 연산(예: 절댓값 계산, 합계 구하기), 자료형 변환(예: 리스트로 바꾸기),
조건 판단(예: 값이 모두 참인지 확인) 등 우리가 자주 사용하는 작업들을 아주 짧고 간단하게 처리할 수 있게 도와줘요.
📋 대표적인 내장함수 예시
함수명 | 설명 | 예시 |
---|---|---|
abs(x) |
숫자의 절댓값 반환 | abs(-10) → 10 |
len(x) |
시퀀스 자료형의 길이 반환 | len("hello") → 5 |
max(x) |
최댓값 반환 | max([1, 3, 2]) → 3 |
sum(x) |
전체 합계 반환 | sum([1, 2, 3]) → 6 |
sorted(x) |
정렬된 리스트 반환 | sorted([3, 1, 2]) → [1, 2, 3] |
💡 왜 내장함수를 꼭 알아야 할까요?
- 코드가 간결해져요. 복잡한 연산을 단 한 줄로 처리할 수 있어요!
- 에러가 줄어들어요. 이미 검증된 함수라 안정성이 높아요.
- 학습과 유지보수가 쉬워요. 코드 구조가 깔끔해서 협업에도 좋아요.
앞으로 여러분이 어떤 프로젝트를 하더라도 내장 함수는 꼭 만나게 될 거예요.
그러니까, 지금 확실히 익혀두는 게 정말 중요합니다!
2. 🔢 숫자 다루기: abs, round, divmod
프로그래밍을 하다 보면 숫자를 다루는 일이 정말 많죠.
예를 들어
절댓값을 구하거나, 소수를 반올림하거나, 몫과 나머지를 구해야 할 때 말이에요.
이런 상황에서 파이썬 내장함수 abs, round, divmod를 잘 활용하면 코드가 훨씬 간단해지고 실수도 줄일 수 있어요!
🧮 abs(x): 절댓값 구하기
abs()
함수는 숫자를 입력받아 그 숫자의 절댓값을 반환해요.
음수든 양수든 상관없이 항상 양수 결과를 주죠.
x = -42
print(abs(x)) # 출력: 42
🟰 round(x[, ndigits]): 반올림
round()
함수는 소수점을 가까운 정수로 반올림해 줍니다.
ndigits
를 지정하면 소수 몇 번째 자리까지 반올림할지 선택할 수 있어요.
print(round(3.14159)) # 출력: 3
print(round(3.14159, 2)) # 출력: 3.14
print(round(5.5)) # 출력: 6 (파이썬의 반올림 규칙 적용)
💡 참고: 파이썬은 정확히 .5인 경우 짝수 쪽으로 반올림하는 ‘은행가 반올림’을 적용해요.
그래서 round(4.5)
는 4, round(5.5)
는 6이 됩니다!
➗ divmod(a, b): 몫과 나머지 한 번에
divmod(a, b)
는 두 숫자를 나누어서 몫과 나머지를 한꺼번에 튜플로 반환해줘요.
사실상 a // b
와 a % b
를 동시에 계산하는 함수예요.
result = divmod(10, 3)
print(result) # 출력: (3, 1)
몫, 나머지 = result
print(몫) # 출력: 3
print(나머지) # 출력: 1
📌 이 함수들은 언제 쓰면 좋을까요?
- abs: 게임에서 점수 차이 계산할 때
- round: 가격을 반올림해서 보여줄 때
- divmod: 페이지네이션 구현 시 (총 페이지 계산 등)
이제 숫자를 다루는 기본 내장함수는 꽤 익숙해졌죠?
다음 섹션에서는 데이터 타입과 변환을 위한 함수들을 알아볼 거예요.
파이썬에서 데이터를 확인하고 다루는 데 아주 중요한 친구들이랍니다!
3. 🔍 데이터 확인과 변환: len, type, list, tuple
프로그래밍을 하면서 가장 많이 하는 작업 중 하나는 데이터의 형태 확인과 변환입니다.
파이썬에서는 len()
, type()
, list()
, tuple()
같은 내장함수를 통해 아주 쉽게 처리할 수 있어요.
이 함수들은 특히 초보자가 자료형 개념을 잡는 데 큰 도움이 됩니다.
📏 len(x): 데이터의 길이 확인
len()
함수는 리스트, 문자열, 튜플 등 시퀀스 자료형의 길이를 반환합니다.
즉, 몇 개의 요소가 들어 있는지 알려주는 함수예요.
print(len("hello")) # 출력: 5
print(len([1, 2, 3])) # 출력: 3
print(len((10, 20))) # 출력: 2
🏷️ type(x): 자료형 확인
type()
함수는 어떤 자료형인지 확인할 수 있는 함수예요.
코드를 디버깅하거나, 입력된 값이 어떤 타입인지 헷갈릴 때 정말 유용합니다.
print(type("안녕")) # 출력: <class 'str'>
print(type([1, 2, 3])) # 출력: <class 'list'>
print(type(123)) # 출력: <class 'int'>
🔁 list(x), tuple(x): 자료형 변환
list()
와 tuple()
함수는 각각 데이터를 리스트와 튜플로 바꿔주는 역할을 합니다.
예를 들어
문자열을 문자 하나하나로 쪼개 리스트로 만들거나, 리스트를 튜플로 변환할 수 있어요.
print(list("abc")) # 출력: ['a', 'b', 'c']
print(tuple([1, 2, 3])) # 출력: (1, 2, 3)
print(list((10, 20))) # 출력: [10, 20]
📌 언제 써야 할까요?
- len(): 사용자 입력이나 리스트 길이를 검사할 때
- type(): 디버깅 시 변수의 타입을 확인할 때
- list()/tuple(): 타입을 변경해서 원하는 메서드를 사용하거나, 자료의 변형이 필요할 때
이제 데이터의 모양과 형식을 자유자재로 다룰 수 있는 준비가 된 거예요.
다음 장에서는 조건 판단과 반복에 자주 쓰이는 고급 내장함수들(map, filter, all, any)을 파헤쳐볼게요!
4. 🔁 반복과 조건을 위한 고급 함수: map, filter, all, any
반복문과 조건문을 자주 쓰다 보면 “이거 한 줄로 못 줄일까?” 하는 생각이 들 때가 있어요.
바로 그럴 때 유용한 것이 map(), filter(), all(), any() 같은 고급 내장함수입니다.
이 함수들은 코드를 훨씬 짧고 깔끔하게 만들어주는 파이썬만의 강력한 도구예요.
🧰 map(func, iterable): 반복하며 함수 적용
map()
은 반복 가능한 데이터(iterable)의 요소 각각에 함수를 적용해서 새로운 값을 만들어주는 함수예요.
for문 없이 반복 작업을 처리할 수 있어서 매우 효율적입니다.
numbers = [1, 2, 3, 4]
result = list(map(lambda x: x * 2, numbers))
print(result) # 출력: [2, 4, 6, 8]
🚿 filter(func, iterable): 조건에 맞는 것만 필터링
filter()
는 조건을 만족하는 값들만 걸러내는 함수입니다.
조건은 함수로 표현하고, 그 함수의 결과가 True
인 값만 남겨둡니다.
numbers = [1, 2, 3, 4, 5]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even) # 출력: [2, 4]
✅ all(iterable): 모두 참이면 True
all()
함수는 반복 가능한 객체의 요소가 모두 참이면 True를 반환하고, 하나라도 거짓이면 False를 반환해요.
values = [True, True, True]
print(all(values)) # 출력: True
values = [True, False, True]
print(all(values)) # 출력: False
☝️ any(iterable): 하나라도 참이면 True
any()
함수는 하나라도 참이면 True를 반환합니다.
조건 검색, 유효성 검사 등에 자주 쓰이죠.
values = [False, False, True]
print(any(values)) # 출력: True
values = [False, False, False]
print(any(values)) # 출력: False
💡 map vs filter vs all vs any 요약
함수 | 역할 | 결과 |
---|---|---|
map() | 모든 요소에 함수 적용 | 리스트 등 반복 가능한 결과 |
filter() | 조건에 맞는 값만 추출 | 필터링된 리스트 |
all() | 모두 True면 True | 불리언 값 |
any() | 하나라도 True면 True | 불리언 값 |
이 함수들을 잘만 쓰면, 복잡했던 코드를 단 1~2줄로 줄일 수 있어요.
특히 데이터 처리나 조건 검사가 많은 작업에서는 진가를 발휘하죠!
이제 조건과 반복에 대한 이해도가 훨씬 높아졌을 거예요.
다음 장에서는 정렬과 탐색에 유용한 내장함수들을 살펴보겠습니다. 준비되셨죠? 😎
5. 📊 정렬과 탐색: max, min, sum, sorted, enumerate
데이터를 다루다 보면 자연스럽게
“가장 큰 값은 뭐지?”, “총합은 얼마일까?”, “정렬이 필요해!” 같은 생각이 들게 돼요.
그럴 때 파이썬 내장함수들이 진가를 발휘합니다.
지금부터 소개할 max()
, min()
, sum()
, sorted()
, enumerate()
는 데이터 탐색의 핵심 도구예요!
🏆 max(x), min(x): 최대/최소 값 찾기
max()
함수는 가장 큰 값을, min()
함수는 가장 작은 값을 반환합니다.
숫자뿐 아니라 문자열 리스트에서도 적용할 수 있어요.
numbers = [3, 5, 1, 9, 2]
print(max(numbers)) # 출력: 9
print(min(numbers)) # 출력: 1
➕ sum(x): 총합 구하기
sum()
함수는 리스트나 튜플 등 숫자 시퀀스의 합을 간단히 구해주는 함수예요.
루프를 돌며 하나하나 더할 필요 없이 단번에 계산됩니다.
scores = [70, 80, 90]
total = sum(scores)
print(total) # 출력: 240
🔃 sorted(x): 정렬된 리스트 반환
sorted()
함수는 리스트의 요소들을 오름차순(기본값) 또는 내림차순으로 정렬해 줍니다.
원본 데이터를 바꾸지 않고 새로운 정렬된 리스트를 반환해요.
nums = [4, 1, 7, 3]
asc = sorted(nums)
desc = sorted(nums, reverse=True)
print(asc) # 출력: [1, 3, 4, 7]
print(desc) # 출력: [7, 4, 3, 1]
🔢 enumerate(x): 인덱스와 함께 반복
enumerate()
함수는 반복 가능한 객체를 순회하면서 인덱스와 값을 동시에 반환해줍니다.
보통 for문에서 인덱스가 필요한 경우 유용하게 쓰여요.
fruits = ['apple', 'banana', 'cherry']
for idx, val in enumerate(fruits):
print(idx, val)
# 출력:
# 0 apple
# 1 banana
# 2 cherry
💡 실무에서 이런 식으로 사용돼요
- max/min: 최고 점수, 최저 온도 찾기
- sum: 쇼핑몰 장바구니 총합 계산
- sorted: 이름순/날짜순 정렬
- enumerate: 번호 매기기, 순위 매기기
여기까지 오셨다면 이제 여러분은 파이썬 내장함수를 실전에 활용할 수 있는 레벨에 도달한 셈이에요!
하지만 아직 끝이 아니죠!
다음 단계에서는 지금까지 배운 내용을 활용해 실전 예제로 정리해보겠습니다. 😊
6. 🧪 꼭 써봐야 할 실전 예제 모음
지금까지 소개한 파이썬 내장함수들, 이론만 봐서는 감이 잘 안 올 수 있어요.
그래서 준비했습니다! 💡
🎯 예제 1: 짝수만 골라 2배 만들기
nums = [1, 2, 3, 4, 5, 6]
result = list(map(lambda x: x * 2, filter(lambda x: x % 2 == 0, nums)))
print(result) # 출력: [4, 8, 12]
📘 예제 2: 학생 점수 분석기
scores = [85, 90, 78, 92, 66]
print("총합:", sum(scores))
print("최고점:", max(scores))
print("최저점:", min(scores))
print("평균:", round(sum(scores) / len(scores), 2))
🗂️ 예제 3: 데이터 정렬 및 인덱스 출력
items = ["pear", "apple", "banana"]
sorted_items = sorted(items)
for i, item in enumerate(sorted_items):
print(f"{i + 1}위: {item}")
✅ 예제 4: 조건 모두 만족 확인하기
conditions = [True, True, True]
if all(conditions):
print("모든 조건이 충족되었습니다.")
else:
print("하나 이상의 조건이 미충족입니다.")
🧭 예제 5: 사용자 입력 데이터 변환
user_input = "1,2,3,4,5"
numbers = list(map(int, user_input.split(",")))
print(numbers) # 출력: [1, 2, 3, 4, 5]
🎉 마무리하며
어떠셨나요?
이렇게나 많은 파이썬 내장함수가 우리의 코드를 더 쉽고 강력하게 만들어줄 수 있다는 사실,
이제 실감 나시죠?
오늘 배운 함수들은 단순히 외워야 할 개념이 아니라 실제 코딩의 효율성과 품질을 높여주는 도구입니다.
이제 여러분은 초보자에서 한 발짝 더 나아간 파이썬 사용자예요.
앞으로는 직접 코딩하면서 이런 함수들을 자연스럽게 활용해보세요!
익숙해질수록 더 창의적인 프로그램을 만들 수 있을 거예요 😄
'Python' 카테고리의 다른 글
파이썬 클래스(Class)로 배우는 객체지향 프로그래밍 (4) | 2025.04.11 |
---|---|
파이썬의 표준 입출력 완전 정복 (0) | 2025.04.11 |
파이썬 사용자 정의 함수 완전 정복 (3) | 2025.04.11 |
파이썬 프로그램의 흐름제어 - for 문 완전 정복 (1) | 2025.04.11 |
파이썬 프로그램의 흐름제어 while 문 (0) | 2025.04.10 |