Python 필수 내장 함수 가이드

파이썬 내장 함수 활용

내장 함수(Built-in Functions)는 파이썬에서 기본적으로 제공되는 함수로, 별도의 모듈 임포트 없이 바로 사용할 수 있어 개발 효율성을 크게 높여줍니다.

진법 변환 함수

  • bin(x): 10진수를 2진수로 변환 (접두사 0b 포함)
  • oct(x): 10진수를 8진수로 변환 (접두사 0o 포함)
  • hex(x): 10진수를 16진수로 변환 (접두사 0x 포함)

int() 함수: 문자열을 정수로 변환

int() 함수는 숫자 형태의 문자열을 정수로 변환합니다. 두 번째 인자를 지정하면 특정 진수의 문자열을 10진수로 변환할 수 있습니다.

# 2진수 문자열을 10진수로 변환
print(int('1010', 2))  # 결과: 10

# 16진수 문자열을 10진수로 변환
print(int('f', 16))   # 결과: 15

ord() 함수: 문자를 유니코드 값으로 변환

컴퓨터는 모든 문자를 고유한 숫자로 표현합니다. 이를 유니코드(Unicode)라고 합니다. 파이썬에서는 단일 문자도 문자열로 처리됩니다.

  • ord(c): 단일 문자의 유니코드 코드 포인트를 반환합니다.
print(ord('A'))  # 결과: 65
print(ord('가'))  # 결과: 44032

chr() 함수: 유니코드 값을 문자로 변환

# 'A'의 유니코드 값에 3을 더한 후 해당 문자로 변환
print(chr(ord('A') + 3))  # 결과: D

abs() 함수: 절대값 계산

print(abs(-15))    # 결과: 15
print(abs(3.14))   # 결과: 3.14

pow() 함수: 거듭제곱 계산

pow(base, exp)는 base ** exp와 동일한 결과를 반환합니다. 추가로 세 번째 인자를 지정하면 modulo 연산을 더 효율적으로 수행합니다.

# 기본적인 거듭제곱
print(pow(2, 4))     # 결과: 16

# modulo 연산 포함 (2^3 % 5)
print(pow(2, 3, 5))  # 결과: 3

round() 함수: 반올림 처리

round(number, ndigits)는 숫자를 지정한 자리수로 반올림합니다. ndigits를 생략하거나 None으로 지정하면 가장 가까운 정수를 반환합니다.

  • .5 형태의 중간값은偶数로 반올림됩니다.
  • ndigits가 음수면 정수 부분에서 반올림합니다.
print(round(3.14159, 2))    # 결과: 3.14
print(round(9876.54, -2))   # 결과: 9900.0

sum() 함수: 요소 합산

sum(iterable)은 반복 가능한 객체의 모든 요소의 합을 계산합니다.

points = [85, 92, 78, 95]
print(sum(points))  # 결과: 350

max()와 min() 함수: 최댓값 및 최솟값 찾기

temperatures = [25, 18, 31, 22, 27]

print(max(temperatures))  # 결과: 31
print(min(temperatures))  # 결과: 18

# 여러 인자를 직접 전달해도 가능
print(max(12, 45, 7, 33))  # 결과: 45

map() 함수: 시퀀스 일괄 처리

map(function, iterable)은 고차 함수로, 지정한 함수를 시퀀스의 각 요소에 적용하고 결과를 이터레이터로 반환합니다. list()를 사용해 결과 리스트로 변환해야 합니다.

# 문자열 리스트를 정수 리스트로 변환
string_values = ['5', '10', '15']

# int 함수를 각 요소에 적용
numeric_values = list(map(int, string_values))
print(numeric_values)  # 결과: [5, 10, 15]

# 변환 후 연산 수행
print(sum(numeric_values))  # 결과: 30

실제 프로그래밍에서 입력 값을 처리할 때 자주 활용되는 패턴입니다:

# 공백을 기준으로 분리하고 정수 리스트로 변환
user_input = list(map(int, input().split()))

7월 14일 23:24에 게시됨