¶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 | sum = lambda a, b: a+b |
lambda
는 def
를 사용할 수 없는 곳에도 사용할 수 있다.
1 | myList = [lambda a, b:a+b, lambda a, b:a*b] |
¶len
len(s)
입력값 s의 길이(요소의 전체 개수)를 리턴하는 함수.
¶list
반복 가능한 자료형를 입력받아 리스트로 만들어 리턴하는 함수.
list
함수에 리스트를 입력으로 주면 똑같은 리스트를 복사하여 돌려줌.
¶map
map(f, iterable)
은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받음.
map
은 입력받은 자료형의 각 요소가 함수 f에 의해 수행된 결과를 묶어서 리턴하는 함수이다.
1 | # two_times.py |
위의 예제는 map
함수를 이용하여 다음과 같이 바꿀 수 있음.
1 | def two_times(x): returen x*2 |
lambda
를 사용하여 다음처럼 간략하게 만들 수 있음.
1 | list(map(lambda a: a*2, [1, 2, 3, 4])) |
1 | def plus_one(x): |
¶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 | f = open("binary_file", "rb") |
1 | with open("foo.txt", "w") as f: |
sys 모듈로 입력 인수 주기
C:\> type a.txt
위의 type 명령어는 바로 뒤에 적힌 파일 이름을 인수로 받아 그 내용을 출력해 주는 도스 명령어이다.
대부분의 도스 명령어들은 다음과 같이 명령행(도스 창)에서 입력 인수를 직접 주어 프로그램을 실행시키는 방식을 따른다.
이러한 기능을 파이썬 프로그램에도 적용시킬 수가 있다.
도스 명령어 [인수1 인수2 ...]
파이썬에서는 sys
라는 모듈을 이용하여 입력 인수를 직접 줄수 있다.
sys
모듈을 이용하려면 아래 예의 import sys
처럼 import
라는 명령어를 사용해야 한다.
1 | import sys |
위의 예는 입력받은 인수들을 for문을 이용해 차례대로 하나씩 출력하는 예이다.
sys
모듈의 argv
는 명령창에서 입력한 인수들을 의미한다.
즉, 아래와 같이 입력했다면 argv[0]
는 파일 이름인 sys1.py
가 되고 argv[1]
부터는 뒤에 따라오는 인수들이 차례로 argv
의 요소가 된다.
이 프로그램을 C:/Python 디렉터리에 저장한 후 입력 인수를 함께 주어 실행시키면 다음과 같은 결과값을 얻을 수 있다.
1 | C:\Python>python sys1.py aaa bbb ccc |
위의 예를 이용해서 간단한 스크립트를 하나 만들어 보자.
1 | #sys2.py |
문자열 관련 함수인 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 | list(range(5)) |
¶sorted
sorted(iterable)
함수는 입력값을 정렬한 후 그 결과를 리스트로 리턴
리스트 자료형에도 sort
라는 함수가 있다. 하지만 리스트 자료형의 sort
함수는 리스트 객체 그 자체를 정렬할 뿐 정렬된 결과를 리턴하지 않음.
¶str
str(object)
은 문자열 형태로 객체를 변환하여 리턴하는 함수
¶tuple
tuple(iterable)
은 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 리턴하는 함수.
만약 튜플이 입력으로 들어오면 그대로 리턴.
¶type
type(object)
은 입력값의 자료형이 무엇인지 알려주는 함수
¶zip
zip(iterable*)
은 동일한 개수로 이루어진 자료형을 묶어 주는 함수
1 | list(zip([1, 2, 3], [4, 5, 6])) |