built-in functions

abs

어떤 숫자를 입력으로 받았을 때 그, 숫자의 절대값을 돌려줌.

all

all(x) 반복 가능한(iterable) 자료형 x를 입력 인수로 받아 이 x가 모두 참이면 True, 거짓이 하나라도 있으면 False를 리턴.

any

any(x) x 중 하나라도 참이 있을 경우 True를 리턴, x가 모두 거짓일 경우 False를 리턴,
all(x)의 반대 경우.

chr

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

dir

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

divmod

divmod(a, b)는 2개의 숫자를 입력받아 a를 b로 나눈 몫과 나머지를 튜플 형태로 리턴.

enumerate

순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴.
for 문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할때 enumerate 함수를 사용하면 유용.

eval

eval(expression)은 실행 가능한 문자열(1+2, ‘hi’ + ‘a’ 같은 것)을 입력으로 받아 문자열을 실행한 결과값을 리턴.
보통 eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶은 경우에 사용.

filter

filter 함수는 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다.
그리고 두 번째 인수인 반복 가능한 자료형 요소들이 첫 번째 인수인 함수에 입력되었을 때 리턴값이 참인 것만 묶어서 돌려줌.

hex

정수값을 입력받아 16진수로 변환하여 리턴.

id

객체를 입력받아 객체의 고유 주소값(레퍼런스)을 리턴.

input

사용자 입력을 받는 함수.

int

문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 리턴하는 함수로, 정수를 입력으로 받으면 그대로 리턴.

isinstance

isinstance(object, class)는 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받음.
입력으로 받은 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 리턴.

lambda

함수를 생성할 때 사용하는 예약어. def와 동일한 역할을 한다.
보통 함수를 한줄로 간결하게 만들 때 사용.
def를 사용해야 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰임.

lambda 인수1, 인수2, ...: 인수를 이용한 표현식

1
2
sum = lambda a, b: a+b
sum(3, 4)

lambdadef를 사용할 수 없는 곳에도 사용할 수 있다.

1
2
3
4
5
myList = [lambda a, b:a+b, lambda a, b:a*b]
myList
myList[0]
myList[0](3,4)
myList[1](3,4)

len

len(s) 입력값 s의 길이(요소의 전체 개수)를 리턴하는 함수.

list

반복 가능한 자료형를 입력받아 리스트로 만들어 리턴하는 함수.

list 함수에 리스트를 입력으로 주면 똑같은 리스트를 복사하여 돌려줌.

map

map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받음.
map은 입력받은 자료형의 각 요소가 함수 f에 의해 수행된 결과를 묶어서 리턴하는 함수이다.

1
2
3
4
5
6
7
8
9
# two_times.py
def two_times(numberList):
result = []
for number in numberList:
result.append(number*2)
return result

result = two_times([1, 2, 3, 4])
print(result)

위의 예제는 map 함수를 이용하여 다음과 같이 바꿀 수 있음.

1
2
def two_times(x): returen x*2
list(map(two_times, [1, 2, 3, 4]))

lambda를 사용하여 다음처럼 간략하게 만들 수 있음.

1
list(map(lambda a: a*2, [1, 2, 3, 4]))
1
2
3
def plus_one(x):
return x+1
print(list(map(plus_one, [1, 2, 3, 4, 5])))

max

max(iterable)는 인수로 반복 가능한 자료형을 입력받아 그 최대값을 리턴.

min

min(iterable)max와 반대로, 인수로 반복 가능한 자료형을 입력받아 그 최소값을 리턴.

oct

정수 형태의 숫자를 8진수 문자열로 바꾸어 리턴.

open

open(filename, [mode])파일 이름읽기 방법을 입력받아 파일 객체를 리턴하는 함수.
읽기 방법(mode)이 생략되면 기본값인 읽기 전용 모드(r)로 파일 객체를 만들어 리턴.

mode 설명
w 쓰기 모드로 파일 열기
r 읽기 모드로 파일 열기
a 추가 모드로 파일 열기
b 바이너리 모드로 파일 열기

b는 w, r, a와 함께 사용됨.

1
2
f = open("binary_file", "rb")
fappend = open("append_mode.txt", 'a')
with문과 함께 사용하기
1
2
with open("foo.txt", "w") as f:
f.write("Life is too short, you need python")

sys 모듈로 입력 인수 주기

C:\> type a.txt
위의 type 명령어는 바로 뒤에 적힌 파일 이름을 인수로 받아 그 내용을 출력해 주는 도스 명령어이다.
대부분의 도스 명령어들은 다음과 같이 명령행(도스 창)에서 입력 인수를 직접 주어 프로그램을 실행시키는 방식을 따른다.
이러한 기능을 파이썬 프로그램에도 적용시킬 수가 있다.

도스 명령어 [인수1 인수2 ...]

파이썬에서는 sys라는 모듈을 이용하여 입력 인수를 직접 줄수 있다.
sys 모듈을 이용하려면 아래 예의 import sys처럼 import라는 명령어를 사용해야 한다.

1
2
3
4
5
import sys

args = sys.argv[1:]
for i in args:
print(i)

위의 예는 입력받은 인수들을 for문을 이용해 차례대로 하나씩 출력하는 예이다.
sys 모듈의 argv는 명령창에서 입력한 인수들을 의미한다.
즉, 아래와 같이 입력했다면 argv[0]는 파일 이름인 sys1.py가 되고 argv[1]부터는 뒤에 따라오는 인수들이 차례로 argv의 요소가 된다.

example

이 프로그램을 C:/Python 디렉터리에 저장한 후 입력 인수를 함께 주어 실행시키면 다음과 같은 결과값을 얻을 수 있다.

1
2
3
4
C:\Python>python sys1.py aaa bbb ccc
aaa
bbb
ccc

위의 예를 이용해서 간단한 스크립트를 하나 만들어 보자.

1
2
3
4
5
#sys2.py
import sys
args = sys.argv[1:]
for i in args:
print(i.upper(), end=' ')

문자열 관련 함수인 upper()를 이용하여 명령 행에 입력된 소문자를 대문자로 바꾸어 주는 간단한 프로그램이다.
도스창에서 다음과 같이 입력해 보자.

sys2.py 파일이 C:\Python 디렉터리 안에있어야만 한다.

C:\Python>python sys2.py life is too short, you need python

결과는 다음과 같다.

LIFE IS TOO SHORT, YOU NEED PYTHON

ord

문자의 아스키 코드값을 리턴
chr 함수와 반대

pow

pow(x, y)는 x의 y 제곱한 결과값을 리턴

range

range([start,] stop [,step])는 for문과 함께 자주 사용되는 함수
입력받은 숫자에 해당되는 범위의 값알 반복 가능한 객체로 만들어 리턴.

1
2
3
list(range(5))
list(range(5, 10))
list(range(1, 10, 2))

sorted

sorted(iterable) 함수는 입력값을 정렬한 후 그 결과를 리스트로 리턴

리스트 자료형에도 sort라는 함수가 있다. 하지만 리스트 자료형의 sort 함수는 리스트 객체 그 자체를 정렬할 뿐 정렬된 결과를 리턴하지 않음.

str

str(object)은 문자열 형태로 객체를 변환하여 리턴하는 함수

tuple

tuple(iterable)은 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 리턴하는 함수.
만약 튜플이 입력으로 들어오면 그대로 리턴.

type

type(object)은 입력값의 자료형이 무엇인지 알려주는 함수

zip

zip(iterable*)은 동일한 개수로 이루어진 자료형을 묶어 주는 함수

1
2
3
4
list(zip([1, 2, 3], [4, 5, 6]))
list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]

점프 투 파이썬

Share