Python

파이썬 스터디 5장 - 파이썬에 날개 달기 (2)

공대생철이 2023. 7. 5. 21:49
728x90

이번에는 파이썬에 이미 만들어진 것들, 특히 파이썬 배포본에 함께 들어 있는 파이썬 라이브러리를 살펴보자. 

 

라이브러리를 살펴보기 전 파이썬 내장 함수를 먼저 살펴보자.

 

abs

abs(3) // 3
abs(-3) // 3
abs(-1.2) // 1.2

절댓값을 리턴하는 함수이다. abstract value라는 영단어를 알고 있으면 쉽게 와닿는다.

 

all

all([1,2,3]) // True
all([0,1,2]) // False

반복 가능한 데이터 (리스트, 튜플, 문자열, 딕셔너리 등)을 입력값으로 받아 모든 요소가 참이면 True, 하나라도 거짓이 있으면 False이다.

두번째 예시 같은 경우 0이라는 값이 False로 인식되어 all 메서드는 False 값을 리턴한다.

 

any

any([1,2,3,0]) // True
any([]) // False

all의 반대도 작동한다. 하나라도 참이 있으면 True, 모두 거짓이면 False를 리턴한다.

빈 배열 역시 False로 받아들인다.

 

chr

chr(97) // 'a'
chr(44032) // '가'

유니코드 인수를 입력 받아 코드에 해당하는 문자를 리턴한다.

 

dir

dir([1,2,3]) // ['append', 'count', 'extend'.....]
dir({'a':1}) // ['clear', 'copy', 'get'.....]

객체가 지닌 변수나 함수를 보여 주는 함수이다.

리스트가 지닌 함수, 딕셔너리가 지닌 함수를 보여주는 예이다.

 

divmod

divmod(7,3) // (2,1)

두 개의 숫자를 입력받고 첫번째 숫자를 두번째 숫자로 나눈 몫과 나머지를 튜플로 리턴한다.

 

enumerate

순서가 있는 데이터(리스트, 튜플, 문자열)을 입력받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.

 

eval

eval('1+2') // 3
eval("'hi'+'a'") // 'hia'

문자열로 구성된 표현식을 입력으로 받아 해당 문자열을 실행한 결괏값을 리턴한다.

 

filter

def positive(x):
    return x>0
    
print(list(filter(positive,[1,-3,2,0]))) // [1,2]

filter의 첫번째 인자로 함수가 오고 그 다음 반복 가능한 데이터가 들어와서 첫번째 인자 함수의 결과값이 True인 애들만 걸러준다. 

list(filter(lambda x:x>0, [1,-3,2,-1]))
// [1,2]

lambda 함수를 통해서도 filter을 구현할 수 있다.

 

hex

hex(234) // '0xea'

정수를 입력받아 16진수 문자열로 변환하여 리턴하는 함수이다.

 

id

a=3
id(3) // 1350285321

객체를 입력받아 객체의 메모리 주소값을 리턴하는 함수이다.

 

input

사용자 입력을 받는 함수이다. 입력 인수로 문자열을 전달하면 그 문자열은 프롬포트가 된다.

 

int

int('3') // 3
int(3.4) // 3

 

문자열 형태의 숫자나 소수점이 있는 숫자를 정수로 리턴한다. 소수 같은 경우 반올림이 아니라 정수 부분을 리턴한다.

 

isinstance

class Person:
 ....
 a=Person()
 isinstance(a,Person) // True

첫번째 인수로 객체, 두번째 인수로 클래스를 받아서 객체가 입력 받은 클래스의 인스턴스인지 아닌지를 불리언으로 출력해준다.

 

len

len('python') // 6
len([1,2,3]) // 3

입력값의 길이를 리턴한다.

 

list

list('python') // ['p','y','t','h','o','n']

반복 가능한 데이터를 입력받아 리스트를 만들어 리턴한다.

 

map

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

함수와 반복가능한 데이터를 입력으로 받고 입력 데이터의 각 요소에 함수를 적용한 결과를 리턴한다.

 

max

max([1,2,3]) // 3
max('python') // 'y'

최댓값을 리턴하는 함수이다. 문자열의 경우 유니코드가 가장 큰 문자를 가리킨다.

 

min

max와 반대로 최솟값을 리턴한다. 문자열 역시 유니코드가 가장 작은 문자를 가리킨다.

 

oct

oct(34) // '0o42'

정수를 8진수 문자열로 바꾸어 리턴하는 함수이다.

 

open

f=open('binary_file', 'rb')

파일 이름과 읽기 방법을 입력받아 파일 객체를 리턴하는 함수이다. 

읽기 모드에는 w(쓰기), r(읽기), a(추가), b(바이너리) 총 4가지 모드를 조합해서 사용한다.

예시의 경우는 바이너리 읽기 모드를 말한다.

 

ord

ord('a') // 97

문자의 유니코드 숫자 값을 리턴한다.

 

pow

pow(2,4) // 16

앞에거를 뒤의 값만큼 제곱한 결과값을 리턴하는 함수이다.

 

range

list(range(5)) // [0,1,2,3,4]
list(range(5,10)) // [5,6,7,8,9]
list(range(1,10,2) // [1,3,5,7,9]

인수의 개수에 따라 출력값이 다르다.

인수가 하나면 0부터 출력하게 된다.

인수가 2개면 앞에가 시작 범위, 뒤에가 끝 범위가 된다. 끝 범위의 숫자는 포함하지 않는다.

인수가 3개면 시작 범위, 끝 범위, 간격 순서로 동작한다. 범위 안의 등차수열을 리턴한다.

 

 round

round(4.6) // 5

반올림한 값을 리턴한다.

 

sorted

sorted([3,1,2]) // [1,2,3]
sorted(['a','c','b'] // ['a','b','c']

입력데이터를 정렬한 결과를 리스트로 리턴한다.

 

str

str(3) // '3'

인수를 문자열 형태로 변환하여 리턴한다.

 

sum

sum([1,2,3]) // 6

입력 데이터의 합을 리턴한다.

 

tuple

tuple('abc') // ('a','b','c')

반복 가능한 데이터를 튜플로 바꾸어 리턴한다.

 

type

type('ab') // <class 'str'>
type([]) // <class 'list'>

입력값의 자료형을 리턴한다.

 

zip

list(zip([1,2,3],[4,5,6])) // [(1,4),[2,5],[3,6]]

동일한 개수로 이루어진 데이터들을 묶어서 리턴한다.

728x90