점프 투 파이썬 참고: https://wikidocs.net/32
파이썬에서 기본적으로 포함하고 있는 함수 ex) print()
파이썬 내장 함수는 외부 모듈과 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용할 수 있다.
📕 Built-in Functions
https://docs.python.org/3/library/functions.html
절댓값을 돌려주는 함수
print(abs(-3))
👉 3
print(abs(-2.4))
👉 2.4
반복 가능한 자료형을 입력 인수로 받으며
요소가 모두 참이면 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를 리턴한다.
반복 가능한 자료형을 입력 인수로 받으며
요소 중 하나라도 참이 있으면 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
아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력
📕 아스키(ASCII) 코드: 0 ~ 127 사이의 숫자를 각 문자에 대응
result = chr(97)
print(result)
👉 a
객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.
리스트 객체 관련 함수(메서드) ⬇️
리스트에서 쓸 수 있는 거
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(a, b)
2개의 숫자를 입력으로 받는다.
a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려준다.
result = divmod(7, 3) ⬅️ 7을 3으로 나눈 몫과 나머지
print(result)
👉 (2, 1) ⬅️ (몫, 나머지)
순서가 있는 자료형을 입력으로 받아
인덱스(순서) 값을 포함한 enumerate 객체를 돌려준다.
🔸 순서가 있는 자료형: 리스트, 튜플, 문자열
보통 enumerate 함수는 for문과 함께 자주 사용한다.
for i, name in enumerate(['body', 'foo', 'bar']):
print(i, name)
👉
0 body
1 foo
2 bar
for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려 주는 인덱스 값이 필요할 때 사용한다.
실행 가능한 문자열을 입력으로 받아 문자열을 실행한 결괏값을 돌려준다.
입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용한다.
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(함수이름, 앞 함수에 들어갈 반복 가능한 자료형)
두 번째 인수(반복 가능한 자료형 요소)가 첫 번째 인수(함수)에 입력되었을 때 반환값이 참인 것만 걸러서 돌려준다.
def positive(x):
return x > 0 ⬅️ 양수인 경우 참이 된다.
print(list(filter(positive, [1, -3, 2, 0, -5, 6])))
👉 [1, 2, 6]
hex(x)
정수 값을 입력받아 16진수로 변환하여 돌려주는 함수
print(hex(234))
👉 0xea
print(hex(3))
👉 0x3
id(object)
객체를 입력받아 객체의 고유 주소 값을 돌려준다.
a = 3
print(id(3))
👉 4384963376
input([prompt])
사용자 입력을 받는 함수
매개변수로 문자열을 주면 프롬프트가 된다.
>>> a = input()
hi
>>> a
'hi'
>>> b = input("Enter: ")
Enter: hi
>>> b
'hi'
>>>
int(x)
문자열 형태의 숫자나 소수점이 있는 숫자 등을
정수 형태로 돌려준다.
정수를 입력으로 받으면 그대로 돌려준다.
>>> int('3')
3
>>> int(3.4)
3
>>> int(6.9)
6
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(s)
입력값 s의 길이(요소 전체 개수)를 돌려준다.
print(len('python'))
👉 6
print(len([1, 2, 3]))
👉 3
print(len((1, 'a')))
👉 2
list(s)
반복 가능한 자료형을 입력 받아 리스트로 만들어서 돌려준다.
print(list('python'))
👉 ['p', 'y', 't', 'h', 'o', 'n']
print(list((1, 2, 3, 4, 5)))
👉 [1, 2, 3, 4, 5]
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(iterable)
인수로 반복 가능한 자료형을 입력 받아 그 최댓값을 돌려준다.
문자는 z에 가까울 수록 크다.
a = max([1, 2, 3])
print(a)
👉 3
a = max('python')
print(a)
👉 y
min(iterable)
인수로 반복 가능한 자료형을 입력 받아 그 최솟값을 돌려준다.
a = min([1, 2, 3])
print(a)
👉 1
a = min('python')
print(a)
👉 h
open(파일이름, [파일열기모드])
파일이름과 읽기 방법을 입력 받아 파일 객체를 돌려준다.
읽기 방법(mode)를 생략하면 기본값인 r(읽기 모드)로 파일 객체를 만들어 돌려준다.
pow(x,y)
x의 y 제곱한 결괏값을 돌려준다.
a = pow(2, 4)
print(a)
👉 16
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)) ⬅️ 2씩
print(a)
👉 [1, 3, 5, 7, 9]
a = list(range(0, -10, -1)) ⬅️ -1씩
print(a)
👉 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
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(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(3)
'3'
sum(iterable)
입력받은 리스트나 튜플의 모든 요소의 합을 돌려준다.
a = sum([1, 2, 3])
print(a)
👉 6
a = sum((4, 5, 6))
print(a)
👉 15
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("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(*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')]