Devin.KR

타자연습 / 지식 여정

파이썬 내장함수 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 모듈을 쓰세요.