파이썬 기초 문법을 총동원하여 진짜 프로그램을 만들어 봅시다!
직접 만들지 않아도 파이썬이 기본으로 제공하는 강력한 함수들
안녕하세요! 어제까지 우리는 def를 이용해 직접 함수를 만드는 법을 배웠습니다. 하지만 파이썬은 우리가 자주 쓸 법한 기능들을 이미 **'내장 함수(Built-in Functions)'**라는 이름으로 준비해 두었습니다.
오늘 이 보물 상자를 잘 익혀두면, 10줄짜리 코드를 단 1줄로 줄이는 마법을 부릴 수 있게 됩니다!
리스트나 튜플에 담긴 숫자 데이터들을 순식간에 계산해 줍니다.
nums = [10, 20, 30, 40, 50] print(sum(nums)) # 합계: 150 print(max(nums)) # 최댓값: 50 print(min(nums)) # 최솟값: 10 print(abs(-5)) # 절대값: 5 print(round(3.1415, 2)) # 반올림(소수점 2자리): 3.14
데이터의 개수를 세거나 순서를 뒤바꿀 때 유용합니다.
fruits = ["apple", "banana", "cherry"] print(len(fruits)) # 개수: 3 print(sorted(fruits)) # 오름차순 정렬: ['apple', 'banana', 'cherry'] print(list(reversed(fruits))) # 순서 뒤집기
반복문(for문)을 돌릴 때 인덱스 번호가 필요하거나, 두 개의 리스트를 짝지어야 할 때 사용합니다.
# enumerate 예시
names = ["철수", "영희", "민수"]
for idx, name in enumerate(names):
print(f"{idx+1}번 학생: {name}")
# zip 예시
scores = [90, 85, 100]
for name, score in zip(names, scores):
print(f"{name}의 점수는 {score}점")
Q1. sort()와 sorted()는 뭐가 다른가요?
A1. 아주 중요한 차이입니다! 리스트.sort()는 원본 리스트 자체를 정렬해서 바꿔버리지만, sorted(리스트)는 원본은 그대로 두고 **정렬된 새로운 리스트**를 만들어 돌려줍니다. 원본을 유지해야 한다면 sorted()를 쓰세요!
Q2. 내장 함수의 종류를 다 외워야 하나요?
A2. 절대 아닙니다! 자주 쓰는 10~20개 정도만 눈에 익혀두시고, 필요할 때마다 구글이나 공식 문서를 찾아보는 것이 훨씬 효율적입니다. 코딩은 암기 과목이 아니라 '검색 활용 능력'이 더 중요하니까요.
Q3. zip()으로 묶는 리스트들의 길이가 다르면 어떻게 되나요?
A3. 파이썬의 zip()은 가장 짧은 리스트의 길이에 맞춰서 묶어주고 나머지는 버립니다. 데이터가 유실될 수 있으니 가급적 길이를 맞춰주는 것이 좋습니다.
"성적표 자동 생성기"
1. 과목명 리스트: ['국어', '영어', '수학']
2. 점수 리스트: [80, 95, 70]
3. zip을 사용해 "OO 과목은 OO점입니다"를 출력하고,
4. 전체 과목의 평균 점수를 내장 함수로 계산해 보세요!
댓글
댓글 쓰기