파이썬 내장함수 67가지 - 설명을 보고 함수 이름을 직접 입력하며 익히는 타자 학습
설명을 읽고 해당하는 파이썬 내장 함수를 입력하세요. import 없이 바로 쓸 수 있는 것들입니다.
진행0 / 0
타/분0
정확도 %100.0
시간0:00
준비 중…
파이썬 내장함수 67가지 - 설명을 보고 함수 이름을 직접 입력하며 익히는 타자 학습 한눈에 보기
| 순서 | 설명 | 정답 | 핵심 |
|---|---|---|---|
| 1 | 화면에 출력한다 | print |
표준 출력에 쓴다. sep 과 end 로 구분자와 끝 문자를 바꿀 수 있다 |
| 2 | 사용자 입력을 읽는다 | input |
항상 문자열을 돌려준다 |
| 3 | 길이를 센다 | len |
길이를 돌려준다. __len__ 을 구현한 객체면 모두 동작한다 |
| 4 | 타입을 확인한다 | type |
객체의 타입을 돌려준다. 비교에는 isinstance 가 더 낫다 |
| 5 | 정수로 바꾼다 | int |
정수로 바꾼다. 문자열이면 진법을 두 번째 인자로 줄 수 있다 |
| 6 | 실수로 바꾼다 | float |
실수로 바꾼다. 이진 부동소수라 0.1 을 정확히 담지 못한다 |
| 7 | 문자열로 바꾼다 | str |
사람이 읽을 문자열로 바꾼다. repr 과 결과가 다를 수 있다 |
| 8 | 참거짓으로 바꾼다 | bool |
빈 값은 전부 False |
| 9 | 리스트로 만든다 | list |
리스트로 만든다. 순회 가능한 것이면 무엇이든 받는다 |
| 10 | 튜플로 만든다 | tuple |
변경 불가능한 순서열을 만든다. 딕셔너리 키가 될 수 있다 |
| 11 | 딕셔너리로 만든다 | dict |
키-값 쌍을 담는다. 파이썬 3.7부터 삽입 순서를 지킨다 |
| 12 | 집합으로 만든다 | set |
중복 없는 모음을 만든다. 순서를 보장하지 않는다 |
| 13 | 변경 불가 집합 | frozenset |
변경할 수 없는 집합. 해시가 가능해 다른 집합의 원소가 될 수 있다 |
| 14 | 연속된 정수를 만든다 | range |
값을 미리 만들지 않는다 |
| 15 | 번호를 붙여 순회한다 | enumerate |
start 로 시작 번호를 바꾼다 |
| 16 | 여러 시퀀스를 묶는다 | zip |
가장 짧은 것에 맞춰 끝난다 |
| 17 | 모든 원소에 함수를 적용 | map |
결과는 이터레이터다 |
| 18 | 조건에 맞는 것만 남긴다 | filter |
조건이 참인 원소만 남긴다. 결과는 이터레이터다 |
| 19 | 정렬된 새 리스트를 만든다 | sorted |
list.sort 와 달리 원본을 두고 새로 만든다 |
| 20 | 순서를 뒤집는다 | reversed |
역순 이터레이터를 돌려준다. 원본을 바꾸지 않는다 |
| 21 | 합계 | sum |
start 인자로 시작값을 준다 |
| 22 | 최댓값 | max |
key 로 기준을 바꾼다 |
| 23 | 최솟값 | min |
최솟값을 돌려준다. key 로 비교 기준을 바꾼다 |
| 24 | 절댓값 | abs |
절댓값. 복소수에는 크기를 돌려준다 |
| 25 | 반올림한다 | round |
은행가 반올림이라 2.5 가 2 가 된다 |
| 26 | 몫과 나머지를 함께 | divmod |
몫과 나머지를 한 번에 튜플로 돌려준다 |
| 27 | 거듭제곱 | pow |
세 번째 인자로 모듈러 연산 |
| 28 | 하나라도 참이면 True | any |
빈 것은 False |
| 29 | 전부 참이면 True | all |
빈 것은 True 다. 자주 놓친다 |
| 30 | 객체의 속성 목록 | dir |
탐색할 때 유용하다 |
| 31 | 속성 값을 가져온다 | getattr |
기본값을 줄 수 있다 |
| 32 | 속성 값을 넣는다 | setattr |
속성 이름을 문자열로 받아 값을 넣는다 |
| 33 | 속성이 있는지 확인 | hasattr |
속성이 있는지 확인한다. 내부적으로 getattr 을 시도한다 |
| 34 | 속성을 지운다 | delattr |
속성을 지운다. del 문과 같은 일을 한다 |
| 35 | 아이덴티티 값 | id |
같은 객체인지 비교할 때 |
| 36 | 해시 값 | hash |
딕셔너리 키가 되려면 필요하다 |
| 37 | 사람이 읽을 표현 | repr |
디버깅에 쓴다 |
| 38 | 문자를 코드값으로 | ord |
문자를 유니코드 코드 포인트로 바꾼다 |
| 39 | 코드값을 문자로 | chr |
코드 포인트를 문자로 바꾼다. ord 의 반대다 |
| 40 | 2진 문자열로 | bin |
2진수 문자열로 바꾼다. 앞에 0b 가 붙는다 |
| 41 | 16진 문자열로 | hex |
16진수 문자열로 바꾼다. 앞에 0x 가 붙는다 |
| 42 | 8진 문자열로 | oct |
8진수 문자열로 바꾼다. 앞에 0o 가 붙는다 |
| 43 | 파일을 연다 | open |
with 문과 함께 쓴다 |
| 44 | 이터레이터를 만든다 | iter |
이터레이터를 만든다. 두 번째 인자로 보초값을 줄 수 있다 |
| 45 | 다음 값을 꺼낸다 | next |
없으면 StopIteration |
| 46 | 클래스 상속 관계 확인 | issubclass |
클래스가 다른 클래스의 하위인지 확인한다. 인스턴스가 아니라 클래스를 받는다 |
| 47 | 인스턴스인지 확인 | isinstance |
type 비교보다 이쪽이 낫다 |
| 48 | 호출 가능한지 확인 | callable |
괄호를 붙여 부를 수 있는지 확인한다. 클래스도 호출 가능하다 |
| 49 | 전역 이름 공간 | globals |
전역 이름 공간을 딕셔너리로 돌려준다. 수정하면 실제로 반영된다 |
| 50 | 지역 이름 공간 | locals |
지역 이름 공간을 돌려준다. 함수 안에서는 수정해도 반영되지 않는다 |
| 51 | 바이트 열 | bytes |
변경 불가능한 바이트 열을 만든다. 문자열과 다르다 |
| 52 | 변경 가능한 바이트 열 | bytearray |
변경 가능한 바이트 열. 버퍼를 다룰 때 쓴다 |
| 53 | 객체의 최상위 타입 | object |
모든 클래스의 최상위 부모다 |
| 54 | 속성 접근을 가로챈다 | property |
게터·세터를 만든다 |
| 55 | 정적 메서드로 만든다 | staticmethod |
인스턴스도 클래스도 받지 않는 메서드로 만든다 |
| 56 | 클래스 메서드로 만든다 | classmethod |
첫 인자로 클래스를 받는 메서드로 만든다. 대체 생성자에 쓴다 |
| 57 | 부모 구현을 부른다 | super |
부모 클래스의 구현을 부른다. 다중 상속에서 MRO 를 따라간다 |
| 58 | 도움말을 본다 | help |
객체의 도움말을 출력한다. 대화형에서 유용하다 |
| 59 | 포맷을 적용한다 | format |
포맷 규칙을 적용한다. f-string 이 더 읽기 좋다 |
| 60 | 코드를 실행한다 | exec |
입력을 그대로 넣지 마라 |
| 61 | 식을 평가한다 | eval |
같은 이유로 위험하다 |
| 62 | 슬라이스 객체 | slice |
슬라이스 객체를 만든다. a[1:5] 와 같은 것을 값으로 다룰 때 쓴다 |
| 63 | 메모리를 그대로 본다 | memoryview |
복사 없이 버퍼를 들여다본다. 큰 데이터에서 복사를 피할 때 |
| 64 | 복소수 | complex |
복소수를 만든다. 허수부는 j 로 쓴다 |
| 65 | 소수점 오차 없는 표현이 아니다 | float |
이진 부동소수라 0.1+0.2 가 0.3 이 아니다 |
| 66 | 빈 함수 자리를 채운다 | pass |
내장 함수가 아니라 문(statement)이다 |
이렇게 하면 더 잘 외워집니다
- 형 변환(int str list dict), 순회(map filter zip enumerate), 집계(sum max min any all) 로 묶어 보세요.
- any 와 all 의 빈 시퀀스 동작은 자주 틀립니다. any([]) 는 False, all([]) 는 True 입니다.
- sorted 와 list.sort, reversed 와 list.reverse 는 원본을 바꾸는지가 다릅니다.
- eval 과 exec 는 외부 입력을 그대로 넣으면 안 됩니다. 존재는 알되 쓰지 않는 쪽이 낫습니다.
자주 묻는 질문
sorted 와 sort 는 무엇이 다른가요?
sorted 는 새 리스트를 만들어 돌려주고, list.sort 는 원본을 그 자리에서 정렬하고 None 을 돌려줍니다.
all([]) 이 True 인 게 맞나요?
맞습니다. '모든 원소가 참이다'라는 명제는 원소가 없으면 참입니다. 빈 목록을 검사할 때 주의해야 합니다.
round(2.5) 가 왜 2 인가요?
파이썬은 은행가 반올림을 씁니다. 0.5 는 가까운 짝수로 갑니다. 금액 계산에는 decimal 모듈을 쓰세요.