[Python] 내장 함수

Jeongyun Heo·2020년 12월 20일
0

Python

목록 보기
14/36

점프 투 파이썬 참고: https://wikidocs.net/32

✍️  내장 함수

파이썬에서 기본적으로 포함하고 있는 함수 ex) print()

파이썬 내장 함수는 외부 모듈과 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용할 수 있다.

📕  Built-in Functions
https://docs.python.org/3/library/functions.html


✏️  abs (절댓값 구하기)

절댓값을 돌려주는 함수

print(abs(-3))
👉 3
print(abs(-2.4))
👉 2.4

✏️  all (요소가 모두 참인가)

반복 가능한 자료형을 입력 인수로 받으며
요소가 모두 참이면 True,
거짓이 하나라도 있으면 False를 돌려준다.

반복 가능한 자료형: for문으로 그 값을 출력할 수 있는 것
 ➡️ 리스트, 튜플, 문자열, 딕셔너리, 집합 등

a = all([1, 2, 3])  ⬅️ 리스트의 모든 요소가 참
print(a)
👉 True
a = all([1, 2, 3, 0])  ⬅️ 0은 거짓
print(a)
👉 False
a = all([])  ⬅️ 입력 인수가 빈 값일 때는 True
print(a)
👉 True

all의 입력 인수가 빈 값인 경우에는 True를 리턴한다.

✏️  any (요소 중 하나라도 참이 있는가)

반복 가능한 자료형을 입력 인수로 받으며
요소 중 하나라도 참이 있으면 True,
모두 거짓일 때에만 False를 돌려준다.

a = any([1, 2, 3, 0])  ⬅️ 참이 있어서 True
print(a)
👉 True
a = any([0, ""])  ⬅️ 모두 거짓이므로 False
print(a)
👉 False
a = any([])  ⬅️ 입력인수가 빈 값인 경우 False
print(a)
👉 False

✏️  chr (아스키 코드 문자 출력)

아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력

📕  아스키(ASCII) 코드: 0 ~ 127 사이의 숫자를 각 문자에 대응

result = chr(97)
print(result)
👉 a

✏️  dir (객체가 가지고 있는 변수, 함수)

객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.

리스트 객체 관련 함수(메서드) ⬇️
리스트에서 쓸 수 있는 거

result = dir([1, 2, 3])
print(result)

👉
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

딕셔너리 객체 관련 함수(메서드) ⬇️
딕셔너리에서 쓸 수 있는 거

result = dir({1: "nana", 2: "gaga", 3: "baba"})
print(result)

👉
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

✏️  divmod (몫과 나머지를 튜플로)

divmod(a, b) 2개의 숫자를 입력으로 받는다.
a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려준다.

result = divmod(7, 3)  ⬅️ 73으로 나눈 몫과 나머지
print(result)
👉 (2, 1)  ⬅️ (, 나머지)

✏️  enumerate (순서 값)

순서가 있는 자료형을 입력으로 받아
인덱스(순서) 값을 포함한 enumerate 객체를 돌려준다.

🔸  순서가 있는 자료형: 리스트, 튜플, 문자열

보통 enumerate 함수는 for문과 함께 자주 사용한다.

for i, name in enumerate(['body', 'foo', 'bar']):
    print(i, name)
    
👉
0 body
1 foo
2 bar

for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려 주는 인덱스 값이 필요할 때 사용한다.

✏️  eval (문자열 실행한 결괏값)

실행 가능한 문자열을 입력으로 받아 문자열을 실행한 결괏값을 돌려준다.

입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용한다.

result = eval('1+2')
print(result)
👉 3

result = eval("'python'*3")
print(result)
👉 pythonpythonpython

result = eval("'hi'+'hello'")
print(result)
👉 hihello

result = eval('divmod(7, 3)')
print(result)
👉 (2, 1)

✏️  filter (반환값이 참인 것만 돌려줌)

filter(함수이름, 앞 함수에 들어갈 반복 가능한 자료형)

두 번째 인수(반복 가능한 자료형 요소)가 첫 번째 인수(함수)에 입력되었을 때 반환값이 참인 것만 걸러서 돌려준다.

def positive(x):
    return x > 0  ⬅️ 양수인 경우 참이 된다.


print(list(filter(positive, [1, -3, 2, 0, -5, 6])))

👉 [1, 2, 6]

✏️  hex (16진수로 돌려줌)

hex(x)

정수 값을 입력받아 16진수로 변환하여 돌려주는 함수

print(hex(234))
👉 0xea

print(hex(3))
👉 0x3

✏️  id (객체 주소 돌려줌)

id(object)

객체를 입력받아 객체의 고유 주소 값을 돌려준다.

a = 3
print(id(3))
👉 4384963376

✏️  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(6.9)
6

✏️   isinstance (클래스의 인스턴스인지 아닌지)

isinstance(object, class)

첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름
입력으로 받은 인스턴스가 그 클래스의 인스턴스인지 판단하여
참이면 True, 거짓이면 False를 돌려준다.

class Person:
    pass


a = Person()

print(isinstance(a, Person))
👉 True

a는 Person 클래스가 만든 인스턴스니까 True

b = 3
print(isinstance(b, Person))
False

b는 Person 클래스가 만든 인스턴스가 아니므로 False

✏️  len (길이. 요소 전체 개수 돌려줌)

len(s)

입력값 s의 길이(요소 전체 개수)를 돌려준다.

print(len('python'))
👉 6
print(len([1, 2, 3]))
👉 3
print(len((1, 'a')))
👉 2

✏️  list (리스트로 만들어서 돌려준다)

list(s)

반복 가능한 자료형을 입력 받아 리스트로 만들어서 돌려준다.

print(list('python'))
👉 ['p', 'y', 't', 'h', 'o', 'n']
print(list((1, 2, 3, 4, 5)))
👉 [1, 2, 3, 4, 5]

✏️  map (함수 결괏값을 묶어서 돌려준다)

map(f, iterable)

함수(f)와 반복 가능한 자료형을 입력으로 받는다.
입력받은 자료형의 각 요소를 함수(f)가 수행한 결과를 묶어서 돌려준다.

def two_times(x):
    return x*2


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

map의 결과를 리스트로 보여주기 위해 list 함수를 사용하였다.

🔸  lambda 사용해서 간략하게 만들기

a = list(map(lambda a: a*2, [1, 2, 3, 4]))
print(a)
👉 [2, 4, 6, 8]

✏️  max (최댓값 돌려줌)

max(iterable)

인수로 반복 가능한 자료형을 입력 받아 그 최댓값을 돌려준다.

문자는 z에 가까울 수록 크다.

a = max([1, 2, 3])
print(a)
👉 3
a = max('python')
print(a)
👉 y

✏️  min (최솟값 돌려줌)

min(iterable)

인수로 반복 가능한 자료형을 입력 받아 그 최솟값을 돌려준다.

a = min([1, 2, 3])
print(a)
👉 1
a = min('python')
print(a)
👉 h

✏️  open (파일 열기 모드)

open(파일이름, [파일열기모드])

파일이름과 읽기 방법을 입력 받아 파일 객체를 돌려준다.

읽기 방법(mode)를 생략하면 기본값인 r(읽기 모드)로 파일 객체를 만들어 돌려준다.

✏️  pow (제곱)

pow(x,y)

x의 y 제곱한 결괏값을 돌려준다.

a = pow(2, 4)
print(a)
👉 16

✏️  range (범위 값을 돌려줌)

range([시작],미만,[step])

for문과 함께 자주 사용

입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려준다.

🔹  인수가 하나일 경우

시작 숫자를 생략하면 0부터 시작

a = list(range(5))  ⬅️ 시작 숫자 입력 생략
print(a)
👉 [0, 1, 2, 3, 4]  ⬅️ 0부터 들어 있음

🔹  인수가 2개일 경우

시작 숫자 이상, 끝 숫자 미만 (끝 숫자는 포함하지 않음)

a = list(range(5, 10))
print(a)
👉 [5, 6, 7, 8, 9]

🔹  인수가 3개일 경우

세 번째 인수는 숫자 사이의 거리를 말한다.

a = list(range(1, 10, 2))  ⬅️ 2print(a)
👉 [1, 3, 5, 7, 9] 
a = list(range(0, -10, -1))  ⬅️ -1print(a)
👉 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

✏️  round (반올림)

round(number,[ndigits])

두 번째 매개변수는 반올림하여 표시하고 싶은 소수점의 자릿수이다.

a = round(4.6)
print(a)
👉 5
a = round(4.2)
print(a)
👉 4
a = round(5.678, 2)  ⬅️ 두 번째 매개변수는 표시하고 싶은 소수점 자릿수
print(a)
👉 5.68

✏️  sorted (정렬하고 리스트로 돌려줌)

sorted(iterable)

입력값을 정렬한 후 그 결과를 리스트로 돌려준다.

a = sorted([3, 1, 2])
print(a)
👉 [1, 2, 3]
a = sorted(['a', 'c', 'b'])
print(a)
👉 ['a', 'b', 'c']
a = sorted('zero')
print(a)
👉 ['e', 'o', 'r', 'z']
a = sorted((3, 2, 1))
print(a)
👉 [1, 2, 3]

리스트 자료형에 있는 sort 함수는 정렬만 하고 결과를 돌려주진 않는다.

✏️  str (문자열 형태로 변환)

>>> str(3)
'3'

✏️  sum (모든 요소의 합을 돌려줌)

sum(iterable)

입력받은 리스트나 튜플의 모든 요소의 합을 돌려준다.

a = sum([1, 2, 3])
print(a)
👉 6
a = sum((4, 5, 6))
print(a)
👉 15

✏️  tuple (튜플 형태로 돌려줌)

tuple(iterable)

반복 가능한 자료형을 입력 받아 튜플 형태로 바꾸어 돌려준다.

만약 튜플이 입력으로 들어오면 그대로 돌려준다.

a = tuple("abc")
print(a)
👉 ('a', 'b', 'c')
a = tuple([1, 2, 3])
print(a)
👉 (1, 2, 3)
a = tuple((1, 2, 3))
print(a)
👉 (1, 2, 3)

✏️  type (자료형 타입 알려줌)

type("abc")

입력값의 자료형이 무엇인지 알려 준다.

a = type("abc")
print(a)
👉 <class 'str'>
a = type([])
print(a<)
👉 <class 'list'>
a = type(open("test", 'w'))
print(a)
👉 <class '_io.TextIOWrapper'>

✏️  zip (첫 번째끼리, 두 번째끼리... 묶어줌)

zip(*iterable) ⬅️ 반복 가능한 자료형 여러 개 입력 가능

동일한 개수로 이루어진 자료형을 묶어 주는 역할을 한다.

a = list(zip([1, 2, 3], [4, 5, 6]))  ⬅️ list 함수 써야 리스트로 돌려줌
print(a)
👉 [(1, 4), (2, 5), (3, 6)]
a = list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) 
print(a)
👉 [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
a = list(zip('abc', 'def')) 
print(a)
👉 [('a', 'd'), ('b', 'e'), ('c', 'f')]

0개의 댓글