Python 내장 함수

배추·2025년 11월 30일

🐍 Python

목록 보기
17/19

Python 내장 함수에 대해 알아봅니다.


📍abs

  • abs(x): 어떤 숫자를 입력받았을 때 그 숫자의 절댓값을 반환하는 함수.
abs(3) # 3
abs(-3) # 3
abs(-1.2) # 1.2

📍all, any

  • all(x): 반복 가능한 데이터 x를 입력값으로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 반환.
    all([1, 2, 3]) # True
    all([1, 2, 3, 0]) # False
    all([]) # True
  • any(x): 반복 가능한 데이터 x를 입력으로 받아 x의 요소 중 하나라도 참이 있으면 True를 반환하고 x가 모두 거짓일 때만 False를 반환한다.
    any([1, 2, 3, 0]) # True
    any([0, ""]) # False
    any([]) # False

📍chr, ord

  • chr(i): 유니코드 숫자 값을 입력받아 그 코드에 해당하는 문자를 반환하는 함수.
    chr(97) # 'a'
    chr(44032) # '가'
  • ord(c): 문자의 유니코드 숫자 값을 반환하는 함수.
    ord('a') # 97
    ord('가') #44032

📍dir

  • dir(): 객체가 지닌 변수나 함수를 보여 주는 함수.
dir([1, 2, 3]) # ['append', 'count', 'extend', 'index', 'insert', 'pop',...]
dir({'1':'a'}) # ['clear', 'copy', 'get', 'has_key', 'items', 'keys',...]

📍divmod

  • divmod(a, b): 2개의 숫자 a, b를 입력으로 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플로 반환한다.
divmod(7, 3) # (2, 1)

📍enumerate

  • enumerate(): 순서가 있는 데이터(리스트, 튜플, 문자열)를 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 반환한다.
  • 보통 enumerate 함수는 for 문과 함께 사용한다.
  • 자료형의 현재 순서index와 그 값을 쉽게 알 수 있다.
for i, name in enumerate(['body', 'foo', 'bar']):
    print(i, name)

# 0 body
# 1 foo
# 2 bar

📍eval

  • eval(): 문자열로 구성된 표현식을 입력으로 받아 해당 문자열을 실행한 결괏값을 반환하는 함수.
eval('1+2') # 3
eval("'hi' + 'a'") # 'hia'
eval('divmod(4, 3)') # (1, 1)

📍filter

  • filter(함수, 반복_가능한_데이터)
    • 첫 번째 인수로 함수, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 데이터를 받는다.
    • 그리고 반복 가능한 데이터의 요소 순서대로 함수를 호출했을 때 반환값이 참인 것만 묶어서(걸러 내서) 반환한다.
def positive(x):
    return x > 0

print(list(filter(positive, [1, -3, 2, 0, -5, 6]))) # [1, 2, 6]
# list 함수는 filter 함수의 반환값을 리스트로 출력하기 위해 사용

📍hex

  • hex(x): 정수를 입력받아 16진수(hexadecimal) 문자열로 변환하여 반환하는 함수.
hex(234) # '0xea'
hex(3) # '0x3'

📍id

  • id(object): 객체를 입력받아 객체의 고유 주솟값(레퍼런스)을 반환하는 함수.
a = 3
id(3) # 135072304
id(a) # 135072304

b = a
id(b) # 135072304

id(4) # 135072292

📍input

  • input([prompt]): 사용자 입력을 받는 함수. 입력 인수로 문자열을 전달하면 그 문자열은 프롬프트가 된다.
a = input()
hi
a # 'hi'

b = input("Enter: ")
Enter: hi
b # 'hi'

📍int

  • int(x): 문자열 형태의 숫자나 소수점이 있는 숫자를 정수로 반환하는 함수. 만약 정수가 입력되면 그대로 반환.
    int('3') # 3
    int(3.4) # 3
  • int(x, radix): radix 진수로 표현된 문자열 x를 10진수로 변환하여 반환.
    int('11', 2) # 3 (2진수로 표현된 '11'의 10진수 값)
    int('1A', 16) # 26 (16진수로 표현된 '1A'의 10진수 값)

📍str

  • str(object): 문자열 형태로 객체를 변환하여 반환하는 함수.
str(3) # '3'
str('hi') # 'hi'

📍isinstance

  • isinstance(object, class)
    • 첫 번째 인수로 객체, 두 번째 인수로 클래스를 받는다.
    • 입력으로 받은 객체가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 반환한다.
class Person: pass

a = Person()
isinstance(a, Person) # True

b = 3
isinstance(b, Person) # False

📍len

  • len(s): 입력값 s의 길이(요소의 전체 개수)를 반환하는 함수.
len("python") # 6
len([1,2,3]) # 3
len((1, 'a')) # 2

📍list, tuple

  • list(iterable) 반복 가능한 데이터를 입력받아 리스트로 만들어 반환하는 함수.
    • list 함수에 리스트를 입력하면 똑같은 리스트를 복사하여 반환한다.
    list("python") # ['p', 'y', 't', 'h', 'o', 'n']
    list((1,2,3)) # [1, 2, 3]
    list([1, 2, 3]) # [1, 2, 3]
  • tuple(iterable): 반복 가능한 데이터를 튜플로 바꾸어 반환하는 함수.
    • 만약 입력이 튜플인 경우에는 그대로 반환.
      tuple("abc") # ('a', 'b', 'c')
      tuple([1, 2, 3]) # (1, 2, 3)
      tuple((1, 2, 3)) # (1, 2, 3)

📍map

  • map(f, iterable)
    • 함수(f)와 반복 가능한 데이터를 입력으로 받는다.
    • map은 입력받은 데이터의 각 요소에 함수 f를 적용한 결과를 반환한다.
  • map 함수는 map 객체를 반환한다.
def two_times(x): 
    return x*2

list(map(two_times, [1, 2, 3, 4])) # [2, 4, 6, 8]

📍max, min

  • max(iterable): 인수로 반복 가능한 데이터를 입력받아 그 최댓값을 반환하는 함수.
    max([1, 2, 3]) # 3
    max("python") # 'y'
  • min(iterable): 인수로 반복 가능한 데이터를 입력받아 그 최솟값을 반환하는 함수.
    min([1, 2, 3]) # 1
    min("python") # 'h' 

📍oct

  • oct(x): 정수를 8진수 문자열로 바꾸어 반환하는 함수.
oct(34) # '0o42'
oct(12345) # '0o30071'

📍open

  • open(filename, [mode])
    • ‘파일 이름’과 ‘읽기 방법’을 입력받아 파일 객체를 반환하는 함수.
    • 읽기 방법(mode)을 생략하면 기본값인 읽기 모드(r)로 파일 객체를 만들어 반환한다.
  • mode
    • w: 쓰기 모드로 파일 열기.
    • r: 읽기 모드로 파일 열기.
    • a: 추가 모드로 파일 열기.
    • b: 바이너리 모드로 파일 열기.
      • b는 w, r, a와 함께 사용한다.
      • 예) rb: ‘바이너리 읽기 모드’를 의미.
f = open("binary_file", "rb")

📍pow

  • pow(x, y): x를 y제곱한 결괏값을 반환하는 함수.
pow(2, 4) # 16
pow(3, 3) # 27

📍range

  • range([start,] stop [,step]): 입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 반환.
  • for 문과 함께 자주 사용.

인수가 하나일 경우

  • 시작 숫자를 지정해 주지 않으면 0부터 시작.
list(range(5)) # [0, 1, 2, 3, 4]

인수가 2개일 경우

  • 입력으로 주어지는 2개의 인수는 시작 숫자와 끝 숫자를 나타낸다.
  • 단, 끝 숫자는 해당 범위에 포함되지 않는다는 것에 주의.
list(range(5, 10)) # [5, 6, 7, 8, 9]

인수가 3개일 경우

  • 세 번째 인수는 숫자 사이의 거리를 말한다.
list(range(1, 10, 2)) # [1, 3, 5, 7, 9]
list(range(0, -10, -1)) # [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

📍round

  • round(number [,ndigits]): 숫자를 입력받아 반올림해 반환하는 함수.
  • 두 번째 인수는 반올림하여 표시하고 싶은 소수점의 자릿수(ndigits)를 의미.
round(4.6) # 5
round(4.2) # 4
round(5.678, 2) # 5.68 (소수점 2자리까지만 반올림)

📍sorted

  • sorted(iterable): 입력 데이터를 정렬한 후 그 결과를 리스트로 반환하는 함수.
  • 리스트 자료형의 sort 함수는 리스트 객체 그 자체를 정렬만 할 뿐, 정렬된 결과를 반환하지는 않는다.
sorted([3, 1, 2]) # [1, 2, 3]
sorted(['a', 'c', 'b']) # ['a', 'b', 'c']
sorted("zero") # ['e', 'o', 'r', 'z']
sorted((3, 2, 1)) # [1, 2, 3]

📍sum

  • sum(iterable): 입력 데이터의 합을 반환하는 함수.
sum([1,2,3]) # 6
sum((4,5,6)) # 15

📍type

  • type(object): 입력값의 자료형이 무엇인지 알려 주는 함수.
type("abc") # <class 'str'>
type([ ]) # <class 'list'>
type(open("test", 'w')) # <class '_io.TextIOWrapper'>

📍zip

  • zip(*iterable): 동일한 개수로 이루어진 데이터들을 묶어서 반환하는 함수.
    • *iterable: 반복 가능한 데이터를 여러 개 입력할 수 있다는 의미이다.
list(zip([1, 2, 3], [4, 5, 6])) # [(1, 4), (2, 5), (3, 6)]
list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) # [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
list(zip("abc", "def")) # [('a', 'd'), ('b', 'e'), ('c', 'f')]
profile
난 🥬

0개의 댓글