곰퓨타의 SW 이야기

[python] 파이썬 내장함수 사용기 본문

TIL/코테개념_python

[python] 파이썬 내장함수 사용기

곰퓨타 2020. 12. 24. 14:10

파이썬은 내장함수가 굉장히 많은 언어인 것 같다.
따라서 문제를 풀면서 새롭게 알게되는 내장함수들을 하나씩 끄적여보고자 한다.📝

 

너무 너무 설명이 잘 되어 있는 점프투 파이썬💜 https://wikidocs.net/32

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

 

밑에서 자주 등장하는 반복 가능한 자료형이란 ?

list, tuple, range, 문자열(str), 딕셔너리(dict), 집합(set) 을 의미한다!

1. abs

abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 돌려준다.

>>>abs(-3)
3
>>>abs(-1.1)
1.1

 

2. chr/ord

chr(i)는 아스키코드(ASCII)코드를 입력받아 해당하는 문자를 출력한다.
ord(c)는 문자의 아스키코드(ASCII)를 돌려준다.

>>>chr(97)
'a'
>>>chr(48)
'0'
>>>ord('a')
97
>>>ord('0')
48

 

3. dir

dir은 객체가 자체적으로 가지고 있는 변수 혹은 함수를 보여준다.

>>>dir([1,2,3])    # 배열이 가진 함수를 알 수 있다
['appeend', 'count', 'extend', 'index', 'insert', 'pop' ,...]
>>>dir({'1':'a'})    # 딕셔너리가 가진 함수를 알 수 있다
['clear','copy','get','has_key', ...]

 

4. divmod

divmod(a,b)는 2개의 숫자를 입력 받은 후, a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려준다.

>>>divmod(7,3)
(2,1)    #(7//3, 7%4)

 

5. enumerate

순서가 있는 자료형인 리스트, 튜플, 문자열을 입력 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다.
enumerate를 for문과 함께 사용하면 자료형의 현재 순서(index)와 값을 쉽게 알 수 있다.

>>>for i name in enumerate(['body','foo','bar']) :
...    print(i,name)
...
0 body
1 foo
2 bar

 

6. eval

실행 가능한 문자열을 입력으로 받아 문자열을 실행한 결과값을 돌려준다.
이는 파이썬 함수나 클래스를 동적으로 실행하고 싶은 경우 사용한다.

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

 

7. filter

함수 이름과 반복 가능한 자료형을 파라미터로 받아, 자료형 요소가 함수에 입력되었을 때 반환값이 참인 것만 걸러서 돌려준다.

(ver1)
def positive(x) :
    return x> 0
list(filter(postive,[1,-3,2,0,-5,6]))    #[1,2,6]
(ver2_lambda 사용)  
list(filter(lambda x : x> 0, [1,-3,2,0,-5,6])) #[1,2,6]  

 

8. hex/oct

hex(x)는 정수 값을 입력 받아 16진수 문자열로 바꾸어준다.
oct(x)는 정수 값을 입력 받아 8진수 문자열로 바꾸어준다.

>>>hex(234)
'0xea'
>>>hex(3)
'0x3'
>>>oct(34)
'0o42'
>>>oct(12345)
'0o33071'

 

9. id

id는 객체를 입력 받아 객체의 고유 주소 값을 돌려준다.

>>>a=3
>>>id(3)
135072304
>>id(a)
135072304

 

10. input

input은 사용자 입력을 받는다.

>>>a=input()
hi
>>>a
'hi'

 

11. int

int(x)는 문자열 형태의 숫자 혹은 소수점이 있는 숫자를 정수 형태로 돌려준다.

>>>int('3')
3
>>>int(3.4)
3
>>>int('11',2)    
3    #11의 2진수 -> 10진수 변환 시

 

12. isintance

isintance(object,class)는 입력받은 object가 해당 class의 인스턴스인지 판단하여 boolean으로 값을 반환한다.

>>> class Person : pass
...
>>> a= Person()
>>> isinstance(a,Person)
True

 

13. len

len(s)는 s의 길이를 돌려준다.

>>>len("python")
6
>>>len([1,2,3])
3
>>>len((1,'a'))
2

 

14. list

list(s)는 반복 가능한 자료형을 입력 받아 리스트로 돌려준다.

>>>list("python")
['p','y','t','h','o','n']
>>>list((1,2,3))
[1,2,3]
>>>a=[1,2,3]
>>>b=list(a)
>>>b
[1,2,3]

 

15. map

map(f,iterable)은 함수와 반복 가능한 자료형을 입력으로 받는다. 이는 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 핫무이다.

(ver1)
>>> def two_times(x):
...        return x*2
>>> list(map(two_times,[1,2,3,4]))
[2,4,6,8]
(ver2)_lambda 사용
>>>list(map(lambda a : a*2, [1,2,3,4]))
[2,4,6,8]

 

16. max/min

max(반복 가능한 객체)는 자료형의 최댓값을 리턴해준다.
min(반복 가능한 객체)는 자료형의 최솟값을 리턴해준다.

>>>max([1,2,3])
3
>>>max("python")
'y'
>>>min([1,2,3])
1

 

17. pow

pow(x,y)는 x의 y제곱 결과값을 돌려준다.

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

 

18. range

range([start,]stop[,step])은 입력받은 숫자에 해당하는 범위의 값을 반복 가능한 객체로 만들어준다.

>>>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]

 

19. round

round(number[,ndigits])는 숫자를 반올림해준다.

>>> round(4.6)
5
>>> round(4.2)
4
>>> round(5.678,2)
5.68    #소수점 둘째자리까지만 반올림하여 표시

 

20. sorted

sorted(iterable) 함수는 입력값을 정렬한 후 결과를 리스트로 돌려준다.

>>>sorted([3,1,2])
[1,2,3]
>>>sorted("zero")
['e','o','r','z']

❗️리스트 자료형 중 arr.sort() 하고 정렬이 가능한데, 이는 객체 자체를 정렬만 할 뿐 리턴해주지는 않는다❗️

 

21. str

str(object)는 문자열 형태로 객체를 반환해준다.

>>> str(3)
'3'
>>> str('hi'.upper())
'HI'

 

22. sum

sum(iterable)은 입력받은 리스트나 튜플의 모든 요소의 합을 돌려준다.

>>>sum([1,2,3])
6
>>>sum((4,5,6))
14

 

23. tuple

tuple(iterable)은 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 돌려준다.

>>>tuple("abc")
('a','b','c')

 

24. type

type(object)는 자료형이 무엇인지 알려준다.

>>>type("abc")
<class 'str'>
>>>type([])
<class 'list'>

 

25. 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')]

 

 

Comments