[Python] 내장 함수 모음

ㅎㅎ·2021년 5월 24일
0

Python

목록 보기
20/27




📌 내장 함수

  • 파이썬 내장함수는 외부 모듈과 달리 import가 필요하지 않아서 아무런 설정없이 사용가능하다.

- abs

  • abs(x)는 어떤 숫자를 입력받으면 그 숫자의 절댓값을 돌려줌.

- all

  • all(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려줌.
  • 이때 반복 가능한 자료형은 for문으로 리스트,튜플,문자열,딕셔너리,집합이 있음.
>>> all([1,2,3])
True
>>> all([1,2,3,0]) # 0은 거짓이므로
False
>>> all([]) # 입력 인수가 비었을 경우는 참
True
>>> all(())
True

- any

  • any(x)는 반복 가능한(iterable) 자료형 x를 입력인수로 받으면 이 x의 요소중 하나라도 참이 있으면 True, x가 모두 거짓일 경우에만 False를 돌려준다. 즉 all(x)와 반대
>>> any([1, 2, 3, 0])
True
>>> any([0, ""]) # 모두 거짓이므로 거짓 
False
>>> any([]) # 입력 인수가 비었을 경우는 거짓 
False

- chr

-chr(i)는 유니코드값을 입력받아서 그 코드에 해당하는 문자들 출력한다.

>>> chr(97)
'a'
>>> chr(44232)
'곈'

- ord

  • ord(c)는 문자의 유니코드 값을 돌려준다.
>>> ord("b")
98
>>> ord("나")
45208

- dir

  • dir은 객체가 자체적으로 가지고 있는 변수,함수를 보여준다.
>>> dir([1,2,3]) #리스트 관련 함수
['__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']
>>> dir({'1':'a'}) #딕트 관련 함수
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

- divmod

  • divmod(a,b)는 2개의 숫자를 입력으로 받아서 a를 b로 나눈 나머지튜플 형태로 돌려준다.
>>> divmod(10,2)
(5, 0)

- enumerate

  • 이 함수는 순서가 있는 자료형(리스트,튜플,문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate객체를 돌려준다. enumerate는 '열겨하다'라는 뜻이다.
  • for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려 주는 인데스 값이 필요할때 사용하면 유용하다.
for i, name in enumerate(['body', 'foo', 'bar']):
    print(i, name)
    
#결과 
0 body
1 foo
2 bar

➡️ 순서 값과 함께 리스트 요솟값이 출려되었다. 즉 자료형의 현재 순서(index)와 그 값을 쉽게 알 수 있다.

- eval

  • eval(expression)은 실행 가능한 문자열을 입력으로 받아 문자열을 실행한 결괏값을 돌려주는 함수이다.
  • 보통 eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶을때 사용한다.
>>> eval("1+2")
3
>>> eval("'hello'+'girl'")
'hellogirl'
>>> eval("divmod(3,4)")
(0, 3)

- filter

  • filter 함수는 첫번째 인수로 함수 이름을, 두번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을때 반환값이 참인 것만 묶어서 돌려준다.
def positive(l): 
    result = [] # 빈리스트
    for i in l: 
        if i > 0:  
            result.append(i) #리스트에 추가 
    return result

print(positive([1,-3,2,0,-5,6]))
#결과 
[1, 2, 6]

➡️ 위 함수를 filter함수를 사용해 간단하게 만들수 있다.

def positive(x):
    return x > 0

print(list(filter(positive, [1, -3, 2, 0, -5, 6])))

➡️ positive 함수에 두 번째 인수인 리스트이 요소들이 입력되었을때, 참인 값들만 돌려준다.

# 람다함수를 이용해 더 짧게 만들 수 있음. 
a = list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6]))
print(a)

- hex

  • hex(x)는 정수 값을 입력받아 16진수로 변환해 돌려주는 함수이다.
>>> hex(10)
'0xa'
>>> hex(1)
'0x1'

- id

  • id(객체) 는 객체를 입력받아 객체의 고유 주소값을 돌려주는 함수이다.
>>> a = 5
>>> id(5)
140588562389424
>>> id(a)
140588562389424
>>> b = a
>>> id (b)
140588562389424

➡️ 위의 a,5,b는 모두 주소값이 같다. 즉 모두 같은 객체를 가르키고 있다.

- input

  • input()는 사용자 입력을 받는 함수이다. 매개변수로 문자열을 주면 그 문자열을 프롬프트가 된다.
>>> a = input()
i wanna sleep rn
>>> a
'i wanna sleep rn'

- int

  • int(x)는 문자열 형태의 숫자나 소수점이 있는 숫자를 정수 형태로 돌려주는 함수이다.
>>> int(3.4) #소수점 버리고 정수로 
3
>>> int("4")
4
  • int(x,radix)는 radix 진수로 표현된 문자열 x를 10진수로 변화해서 돌려준다.
>>> int("11",2) # 2진수로 표현된 11의 10진수 값을 돌려줌
3
>>> int("1A",16) # 16진수로 표현된 1A의 10진수 값을 돌려줌. 
26

- isinstance

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

a = Person()
res=  isinstance(a,Person) # 인스턴스, 클래스이름
print(res) # 클래스의 인스터스인지 아닌지 판단여부

#결과 
True

- len

  • len(s)는 입력값 s의 길이(요소의 전체 개수)를 돌려준다.
>>> len("python")
6
>>> len([1,2,3,4,5,6,7])
7
>>> len((1,"aaaa"))
2

- list

  • len(s)는 반복 가능한 자료형 s를 입력받아 리스트로 만들어 돌려준다.
>>> list((1,2,3,4,5,6,7))
[1, 2, 3, 4, 5, 6, 7]
>>> list("python")
['p', 'y', 't', 'h', 'o', 'n']

- map

  • map(f,iterable)은 함수(f)와 반복가능한(iterable)자료형을 입력으로 받는다. map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려준다.
def two_times(x):
    return x*2 #두배 


a =list(map(two_times,[1,2,3,4,5]))
print(a)

# 1이 먼저 two_time에 들어가 [2]가 된다. 
# 다음으로 2가 two_times에 들어가 4가된다. 그리고 리스트는 [2,4]가 된다. 
# 이렇게 반복되어 [2,4,6,8,10]이 된다. 
#람다 함수 사용하기
a = list(map(lambda a: a*2, [1, 2, 3, 4]))
print(a)

- max,min

  • max(iterable)는 반복가능한 자료형을 인수로 받아 최댓값을 돌려주고,min(iterable) 또한 반복가능한 자료형을 인수로 받아 최솟값을 돌려준다.
>>> max([1,2,3,4,5])
5
>>> max("hello im hazel")
'z'
>>> min([1,2,3,4,4,4,4])
1
>>> min("hello im hazel")
' '
>>> min("hello")
'e'

- oct

  • oct(x)는 정수 형태의 숫자를 8진수 문자열로 바꿔서 돌려준다.
>>> oct(100)
'0o144'
>>> oct(10000)
'0o23420'

- open

  • open(filename,[mode])는 파일이름과 읽기 방법을 입력받아 파일 객체를 돌려준다. 읽기 방법을 생략하면 디폴트인 읽기 전용 모드(r)로 파일 객체를 돌려준다.
  • mode
    • w: 쓰기 모드로 파일 열기
    • r: 읽기 모드로 파일 열기
    • a: 추가 모드로 파일 열기
    • b: 바이너리 모드로 파일 열기 (보통 w,r,a와 함께 사용함)
f = open("binary_file", "rb") #바이너리 읽기 모드
fread = open("read_mode.txt", 'r')  
fread2 = open("read_mode.txt") # 기본값 r 
fappend = open("append_mode.txt", 'a') #추가 모드 

- pow

  • pow(x,y)는 x의 y제곱한 결괎값을 돌려준다.
>>> pow(2, 4)
16
>>> pow(3, 3)
27

- range

  • range([start],stop,[step]는 for문과 함께 자주 사용하는 함수이다. 이 함수는 입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려준다.
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1,10,2))
[1, 3, 5, 7, 9]
>>> list(range(0,-10,-2))
[0, -2, -4, -6, -8]

- round

  • round(number,[ndigits] 함수는 숫자를 입력받아 반올림해준다.
  • 두 번째 매개변수 ndisits는 반올림하여 표시하고 싶은 소수점의 자리수이다. 그리고 있을수도 없을수도 있음.
>>> round(4.6)
5
>>> round(4,2)
4
>>> round(4.678,2) #소수점 2에서 반올림
4.68

- sorted

  • sorted(iterable)은 입력값을 정렬한 후 그 결과로 리스트를 돌려준다.
  • 리스트 자료형에도 sort함수가 잇지만, 리스트 자료형의 sort함수는 리스트 객체 그 자체를 정렬만할 뿐 정렬된 결과를 돌려주지 않는다.
>>> sorted([3, 1, 2])
[1, 2, 3]
>>> sorted(['a', 'c', 'b'])
['a', 'b', 'c']
>>> sorted("zero")
['e', 'o', 'r', 'z']
>>> sorted((3, 2, 1))
[1, 2, 3]

- str

  • str(object)는 문자열 형태로 객체를 변환해 돌려준다.
>>> str(4)
'4'
>>> str("hazel")
'hazel'
>>> str("hello".upper())
'HELLO'

- sum

  • sum(iterable)은 입력받은 리스트나 튜플의 모든 요소의 합을 돌려준다.
>>> sum([1,2,3])
6
>>> sum((4,5,6))
15

- tuple

  • typle(iterable)은 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 돌려준다. (튜플이 입력되면 튜플 그대로 돌려줌)
>>> tuple("aaaaa")
('a', 'a', 'a', 'a', 'a')
>>> tuple(["adfadfa"])
('adfadfa',)
>>> tuple(["adfadfa","A","As"])
('adfadfa', 'A', 'As')

- type

  • type(object)는 입력값의 자료형이 무엇인지 알려준다.
>>> type("abc")
<class 'str'> 
>>> type([ ])
<class 'list'>
>>> type(open("test", 'w'))
<class '_io.TextIOWrapper'>

- zip

  • zip(*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')]

0개의 댓글