티스토리 뷰
우리는 지금까지 파이썬 프로그램을 하기위해 알아야 할 것들을 배우고 직접코딩해 봤다. 우리가 파이썬으로 직접 무엇인가를 직접 만들어 볼차례이다. 그런데 우리가 생각하는 것을 만들어 보기전에 파이썬에 이미 그 기능을 하는 프로그램이 있는지 확인을 해보자. 물론 누군가가 만든것을 스터디 차원에서다시 만드는 것은 괜찮지만 스터디 목적이 아니라면 굳이 이미 만들어진 것을 다시 고생해서 만드는 일은 하지 말자. 왜냐하면 이미 만들어진 것들은 다른사람들로 부터 테스트를 많이 해온 검증된 코드이기때문이다.
그래서 이번시간에는 외부모듈처럼 import가 필요없는 파이썬에서 내장함수로 제공하는 있는것들을 알아보자. 우리는 이미 print,del,type등을 사용해봤다.
abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 돌려주는 함수이다.
1 2 | >>> abs(-3) 3 | cs |
all(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.
1 2 | >>> all([1, 2, 3]) True | cs |
any(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며 이 x의 요소 중 하나라도 참이 있으면 True를 돌려주고, x가 모두 거짓일 때에만 False를 돌려준다. all(x)의 반대이다.
1 2 | >>> any([1, 2, 3, 0]) True | cs |
chr(i)는 아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수이다.
1 2 | >>> chr(97) 'a' | cs |
dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여 준다. 다음 예는 리스트와 딕셔너리 객체 관련 함수(메서드)를 보여 주는 예이다. 우리가 02장에서 살펴본 자료형 관련 함수를 만나 볼 수 있다.
1 2 | >>> any([1, 2, 3, 0]) True | cs |
divmod(a, b)는 2개의 숫자를 입력으로 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다.
1 2 | >>> divmod(7, 3) (2, 1) | cs |
enumerate는 "열거하다"라는 뜻이다. 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다.
1 2 3 4 5 6 | >>> for i, name in enumerate(['hello', 'fun', 'python']): ... print(i, name) ... 0 hello 1 fun 2 python | cs |
eval(expression )은 실행 가능한 문자열(1+2, 'hi' + 'a' 같은 것)을 입력으로 받아 문자열을 실행한 결괏값을 돌려주는 함수이다.
1 2 3 4 5 6 | >>> eval('1+2') 3 >>> eval("'hi' + 'a'") 'hia' >>> eval('divmod(4, 3)') (1, 1) | cs |
filter 함수는 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을 때 반환 값이 참인 것만 묶어서(걸러 내서) 돌려준다.
1 2 3 4 5 6 7 8 | def positive(l): result = [] for i in l: if i > 0: result.append(i) return result print(positive([1,-3,2,0,-5,6])) | cs |
hex(x)는 정수 값을 입력받아 16진수(hexadecimal)로 변환하여 돌려주는 함수이다.
id(object)는 객체를 입력받아 객체의 고유 주소 값(레퍼런스)을 돌려주는 함수이다.
input([prompt])은 사용자 입력을 받는 함수이다. 매개변수로 문자열을 주면 다음 세 번째 예에서 볼 수 있듯이 그 문자열은 프롬프트가 된다.
1 2 3 4 5 6 | >>> a = input() hi >>> a 'hi' >>> b = input("Enter: ") Enter: hi | cs |
int(x)는 문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 돌려주는 함수로, 정수를 입력으로 받으면 그대로 돌려준다.
1 2 | >>> int(3.4) 3 | cs |
1 2 | >>> hex(234) '0xea' | cs |
id(object)는 객체를 입력받아 객체의 고유 주소 값(레퍼런스)을 돌려주는 함수이다.
1 2 3 | >>> a = 3 >>> id(3) 135072304 | cs |
input([prompt])은 사용자 입력을 받는 함수이다. 매개변수로 문자열을 주면 다음 세 번째 예에서 볼 수 있듯이 그 문자열은 프롬프트가 된다.
1 2 3 4 | >>> a = input() hi >>> a 'hi' | cs |
1 2 | >>> int(3.4) 3 | cs |
isinstance(object, class )는 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받는다. 입력으로 받은 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 돌려준다.
1 2 3 4 5 | >>> class Person: pass ... >>> a = Person() >>> isinstance(a, Person) True | cs |
len(s)은 입력값 s의 길이(요소의 전체 개수)를 돌려주는 함수이다.
1 2 | >>> len("python") 6 | cs |
list(s)는 반복 가능한 자료형 s를 입력받아 리스트로 만들어 돌려주는 함수이다.
1 2 | >>> list("python") ['p', 'y', 't', 'h', 'o', 'n'] | cs |