본문 바로가기
점프 투 파이썬 정리

내장함수

by 자동매매 2022. 10. 23.

1. 숫자형 자료형 관련

 

abs(x) : 숫자의 절댓값 반환

>>> abs(12.5)   # 12.5
>>> abs(-3.11)  # 3.11

 

divmod( a, b ) : a를 b로 나눈 몫과 나머지를 튜플 형태로 반환

>>> divmod(12,7)  # (1, 5)

 

round(number[, ndigits]) :  숫자를 입력받아 반올림해 주는 함수

>>> round(4.6)       # 5
>>> round(4.2)       # 4

>>> round(5.678, 2)  # 5.68

 

pow(x, y) : x의 y 제곱한 결괏값을 반환

>>> pow(2, 4)
16
>>> pow(3, 3)
27

 

2. 자료형 변환

strlisttupleset

int : 문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 돌려주는 함수

    int(x)     : 인자의 형식을 기본 10진수로 인식

    int(x, y) : 인자의 형식을 지정 가능

>>> int(3.4)     # 3
>>> int('1A',16) # 26
>>> int('3.4')   # 에러 발생

 

3. iterable 자료형 관련

maxminsumlen

 

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

>>> 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]
>>> list(range(0, -10, -1)) # [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

 

sorted(iterable, [reverse]) : 입력값을 오름차순 정렬(기본값)한 후 그 결과를 리스트로 반환

>>> sorted([3, 1, 2])               # [1, 2, 3]
>>> sorted(['a', 'c', 'b'])         # ['a', 'b', 'c']
>>> sorted("zero")                  # ['e', 'o', 'r', 'z']
>>> sorted([3, 1, 2],reverse=True)  # [3, 2, 1]

 

all(iterable)   : x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 반환

                         단, all의 인수가 빈 list, tuple, set이면  True를 반환

any(iterable) : x의 요소 중 하나라도 참이 있으면 True, x가 모두 거짓일 때에만 False를 반환

                         단, any의 인수가 빈 list, tuple, set이면  False를 반환

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


>>> any([1,2,3])         #  True
>>> any([1, 2, 3, 0])   #  True
>>> any([0, ""])          #  False
>>> any([])                 # False
자료형의 참과 거짓을 구분

 

enumerate(iterable)

순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체 반환

print(enumerate([1,2,3]))      # <enumerate object at 0x000001E4EADF0980>


for (index, data) in enumerate(['apple', 'tomato', 'orange']):
    print(index, data)
    
# 반환값
0 apple
1 tomato
2 orange

 

filter(f, iterable) : 첫 번째 인수로 함수 이름, 두 번째 인수로 반복 가능한 자료형을 받아, 첫 번째 인수인 함수에 입력되었을 때 반환 값이 참인 것만 묶어서(걸러 내서) filter객체를 반환

def positive(x):
    return x > 0

print(filter(positive, [1, -3, 2, 0, -5, 6]))           # <filter object at 0x0000021DB16DBC40>
print(list(filter(positive, [1, -3, 2, 0, -5, 6])))         # [1, 2, 6]
print(list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6])))  # [1, 2, 6]

 

map(f, iterable) : 함수(f)와 반복 가능한(iterable) 자료형을 입력 받아, 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 map객체로 반환

def two_times(x):
    return x*2

print(map(two_times, [1, 2, 3, 4]))             # <map object at 0x0000025943C3BC40>
print(list(map(two_times, [1, 2, 3, 4])) )      # [2, 4, 6, 8]
print(list(map(lambda a: a*2, [1, 2, 3, 4])))   # [2, 4, 6, 8]

 

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

                          ※ 여기서 사용한 *iterable은 반복 가능(iterable)한 자료형 여러 개를 입력할 수 있다는 의미이다.

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

 

4. 진수 변환

oct / hex

>>> hex(3)   # 0x3
>>> hex(17)  # 0x11

>>> oct(3)   # 0o3
>>> oct(11)  # 0o13

 

5. 문자처리 함수

chr(num) : 유니코드(Unicode) 값 -> 문자

ord(char) : 문자                           -> 유니코드 값

>>> chr(97)     # 'a'
>>> chr(44032)  # '가'

>>> ord('a')    # 97
>>> ord('가')   # 44032

 

6. 입출력 함수

print( *a, [sep], [end] )

 

input([prompt]) : 사용자 입력을 받는 함수, prompt는 화면에 출력할 문자열.

 

open(filename, [mode])

: "파일 이름"과 "읽기 방법(mode)"을 입력받아 파일 객체를 돌려주는 함수, 읽기 방법(mode)을 생략하면 기본값인 읽기 전용 모드(r)로 파일 객체를 만들어 반환

 

[ mode설명 ]

w 쓰기 모드로 파일 열기
r 읽기 모드로 파일 열기
a 추가 모드로 파일 열기
b 바이너리 모드로 파일 열기
f1 = open("binary_file", "wb")
f2 = open("read_mode.txt", 'w')
f3 = open("read_mode.txt")

 

6. 기타 함수

dir(개체) : 객체가 자체적으로 가지고 있는 변수나 함수의 list 반환

>>> dir([1,2,3])  # list의 변수, 함수 반환
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

 

 

id(x) : 객체를 입력받아 객체의 고유 주소 값(레퍼런스)을 돌려주는 함수

>>> a = 3
>>> b = a

# 동일 id - 135072304(os할당)
>>> id(3)  
>>> id(a)
>>> id(b)

 

type(object) : 객체의 자료형 반환

>>> type("abc")              # <class 'str'>
>>> type(open("test", 'w'))  # <class '_io.TextIOWrapper'>

 

eval(expression )

: 실행 가능한 문자열(1+2, 'hi' + 'a' 같은 것)을 입력으로 받아 문자열을 실행한 결괏값을 돌려주는 함수, 보통 eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을 때 사용한다.

>>> eval('1+2')
3
>>> eval("'hi' + 'a'")
'hia'
>>> eval('divmod(4, 3)')
(1, 1)

 

isinstance(object, class )

: 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받아, 클래스의 인스턴스인지를 판단하여 bool값 반환

class Car: pass

car1 = Car()
print(isinstance(car1,Car))

'점프 투 파이썬 정리' 카테고리의 다른 글

library  (0) 2022.10.23
병렬처리  (0) 2022.04.29
11.5. 로깅  (0) 2022.04.27

댓글