파이썬/기본문법

파이썬 내장 함수

코데방 2024. 3. 4.
728x90

파이썬에 기본적으로 포함된 잘 사용되는 내장 함수들입니다. 

  • abs(숫자)
    • abs(-3)  ==>  3
    • 숫자 절대값의 절대값
  • all(리스트 형태의 반복 자료형(iterable)]
    • all([1, 2, 3, 0])  ==> False
    • all([1, 2, 3])  ==> True
    • 하나라도 거짓이면 False, 모두가 참이면 True 반환
  • any(리스트 형태의 반복 자료형(iterable)]
    • any([1, 0, 0, 0]) ==> True
    • any([0, 0, 0, ""]) ==> False
    • 하나만 참이어도 True, 모두가 거짓이면 False 반환
  • chr(아스키코드)
    • chr(97) ==> 'a'
    • 아스키코드를 문자로 변환
  • dir(객체 오브젝트)
    • dir(list) ==> ['append', 'count' ...]
    • 리스트 클래스가 가진 변수와 함수 반환
  • divmod(숫자a, 숫자b)
    • divmod(8, 3) ==> [2, 2]
    • a를 b로 나눈 몫과 나머지를 튜플로 반환
  • enumerate(리스트 형태의 반복 자료형(iterable)])
    • 인덱스 값을 포함한 자료를 가진 객체 반환 (for문과 함께 사용하기 좋음)
enum = enumerate(["a","b", "c"])

for i, n in enum:
    print(i, n)

 

 

  • eval(expression)
    • eval("1+2") ==> 3
    • eval("divmod(10,3)") ==> (3, 1)
    • 문자열로 제공된 함수를 실행해줌
  • filter(함수이름, 반복 자료형(iterable))
    • 리스트 등 반복 자료형 안의 인수 중 함수 로직 기준 True인 값만 저장한 객체 반환 (리스트 변환 필요)
# filter 함수에 쓸 True/False 공식
def positive(x):
    return x > 0

data = [-1, 1, 0, 4, 5, -2, -8]

# 리스트 형태로 바꿔줘야함
# data 리스트에서 양수만 뽑아낸 리스트 반환
filt = list(filter(positive, data))

print(filt)

 

 

간단한 함수이기 때문에 아래와 같이 람다 형태로 함수를 만들어주면 더욱 간단하게 작성할 수 있습니다. 

filt = list(filter(lambda x: x > 0, data))

 

 

  • int(x, radix)
    • radix 진수 x를 10진수로 변환
    • int(11, 2)  ==> 3 (2진수 '11'을 10진수로 변환)
  • isinstance(오브젝트, 클래스명)
    • 객체가 해당 클래스의 인스턴스가 맞으면 True, 틀리면 False
  • len(s)
    • 문자열, 리스트, 튜플 등 반복 가능한 자료형의 갯수를 알려줌
  • list(s)
    • 반복 가능한 자료형을 리스트로 만들어줌
    • list(리스트)로 사용할 경우, 다른 메모리 주소를 가진 새로운 리스트를 생성해줌
  • map(함수이름, 반복 자료형(iterable))
    • 반복 자료형의 각 요소를 함수가 수행한 결과를 가진 객체 반환 (리스트 변환 필요)
    • 필터와 비슷하지만 True/False가 아닌 다른 로직 적용 가능
# map 함수에 사용할 함수 (3제곱구하기)
def multiple(x):
    return x ** 3

data = [-1, 1, 0, 4, 5, -2, -8]

# 리스트 형태로 바꿔줘야함
# data 리스트의 값을 제곱으로 만든 결과 반환
mp = list(map(multiple, data))

print(mp)

 

 

역시 간단한 함수라면 람다를 사용해도 무방합니다.

mp = list(map(lambda f: f ** 3, data))

 

 

 

  • max(iterable) / min(iterable)
    • 반복 가능한 자료형헤서 최대값과 최소값 찾기
    • 문자열의 경우 알파벳 순서로 적용
  • ord(c)
    • 문자의 아스키 코드 값을 반환
    • ord('a')  ==> 97
  • pow(x, y)
    • x의 y제곱을 반환
    • 그냥 x ** y 형태가 조금 더 낫지 않을까
  • round(소수점 숫자, 자릿수)
    • round(5.112255, 4) ==> 5.1123 (반올림하여 소수점 네번 째까지 표시)
  • sorted(iterable)
    • 반복 가능한 자료형을 정렬하여 리스트로 반환
  • str(object)
    • 문자열 형태로 객체를 반환함
    • str(3) ==> 정수형이 아닌 문자형으로 변환
  • sum(iterable)
    • 반복 가능 자료형(리스트, 튜플)의 모든 값의 합을 반환함
  • zip(여러개의 iterable)
    • 동일 갯수의 반복 가능 자료형을 묶어줌
    • 리스트 형태로 변환 필요
a = [1,2,3]
b = ["가", "나", "다"]
c = ["a", "b", "c"]
d = ["A", "B", "C"]

#리스트 형태로 변환 필요
z = list(zip(a,b,c,d))

print(z)

 

 

 

 

 

728x90

댓글

💲 추천 글