참고 자료
https://docs.python.org/3/library/functions.html
파이썬 버전 3.7 기준
숫자형 자료형과 관련된 내장함수
abs(), round(), pow(), divmod(), sum(), min(), max() 등.
숫자형 자료형으로 변경해주는 내장함수(int(), float(), complex()) 등에 대한 내용은 여기를 참고한다.
간단한 수학 연산과 관련된 내장함수
abs(x)
○ 입력 숫자형 변수 x의 절대값을 반환한다.
○ 숫자형 변수 즉 정수 혹은 실수형만 가능하다.
○ 복소수인 경우 그 크기가 반환된다.
사용 예)
In[2]: abs(-1)
Out[2]: 1
In[3]: abs(-1.)
Out[3]: 1.0
In[4]: abs(5.)
Out[4]: 5.0
In[5]: abs(5)
Out[5]: 5
In[6]: abs(1+5j)
Out[6]: 5.099019513592785
pow(x, y[, z])
○ x의 y거듭제곱을 반환한다.
▷ x**y와 동일하다.
○ z가 있는 경우 pow(x,y)%z의 값과 동일한 값을 출력한다.
▷ 하지만 계산의 속도는 pow(x,y,z)가 더빠르다.
○ 숫자형만 사용이 가능하다.
▷ 입력 출력 모두가 정수인 경우 정수형이 출력되지만, 입력중 하나라도 실수형이면 실수형을 출력하고, 입력이 정수형이더라도 출력이 실수형으로 출력되어야 하는 상황이면(예를들어, pow(10, -2)) 실수형을 출력한다.
▷ z가 있는 경우 x와 y는 정수형이여야 하고 y는 음수가 아니어야 한다.
사용 예)
In[35]: pow(2,5)%3
Out[35]: 2
In[36]: pow(2,5.5)%3
Out[36]: 0.25483399593904466
In[37]: pow(2,5.5)
Out[37]: 45.254833995939045
In[38]: pow(5.5,2)
Out[38]: 30.25
In[39]: pow(5.0,2)
Out[39]: 25.0
divmod(x,y)
○ x와 y 두개의 숫자를 인자를 입력으로 받아 x를 y로 나눈 몫과 나머지를 반환한다.
○ 즉, (x//y, x%y)의 결과를 반환한다.
사용 예)
In[43]: divmod(27.0, 5)
Out[43]: (5.0, 2.0)
In[44]: divmod(32, 9)
Out[44]: (3, 5)
이터레이블(iterable)한 객체를 입력으로 받을 수 있는 내장함수
○ 먼저 쉽게 설명하면 리스트와 튜플과 같은 시퀀스형 자료형 대부분은 이터레이블하다.
○ 자료형이 아니라도 이터레이블한 경우가 있지만 이터레이블에 대한 자세한 설명은 여기를 참고한다.
sum(iterable[, start])
○ iterable(시퀀스형 자료형, 리스트, 튜플 등)의 항목을 왼쪽에서 오른쪽으로 합한 합계를 반환한다.
○ start가 입력될 경우 start를 더하고 iterable을 더하기 시작한다.
▷ start의 기본값은 0이다.
○ iterable에 있는 문자(열)들을 하나의 문자열로 출력하고 싶다면 sum()함수가 아니라 아래 예와같이 join()함수를 이용하는 것을 권장한다.
사용 예)
In[58]: sum([1,2,3,4,5,6,7])
Out[58]: 28
In[59]: sum([1,2,3,4,5,6,7], -20)
Out[59]: 8
In[60]: ''.join(['g','o','o','d'])
Out[60]: 'good'
min(iterable[, key, default]) or min(x1, x2, x3, ... [, key])
○ 입력 자료가 하나인 경우에는 iterable(예를들어 리스트나 튜플)같은 객체여야한다.
▷ 이 경우 입력 숫자형 변수의 콜랙션(리스트, 튜플, 집합 등)인 x의 최소값을 반환한다.
▷ default는 입력 객체가 비어있는 형태일 경우 반환하는 인자를 정의한다.
○ 인자가 여러개 입력될 경우 일반적인 숫자형 자료형도 입력이 가능하며, 정수와 실수형을 섞어 쓰는 것도 가능하다.
○ key인자는 sorted함수의 key와 동일한 컨셉이다.
사용 예)
In[8]: min([1,2,3,4,5])
Out[8]: 1
In[9]: min(1,2,3,4,5)
Out[9]: 1
In[10]: a = [(1,'good', 3), (2, 'ko', 2), (3, 'fighing', 1)]
In[11]: min(a)
Out[11]: (1, 'good', 3)
In[12]: min(a, key= lambda gg: gg[2])
Out[12]: (3, 'fighing', 1)
max(iterable[, key, default]) or max(x1, x2, x3, ... [, key])
○ 최대값을 반환하는 것을 제외하고는 min()함수와 동일하다.
소수점 반올림을 하는 round() 내장함수
파이썬에서 round() 함수는 메커니즘이 약간 이상하므로 따로 섹션을 나눠 설명한다.
round(number[, ndigits])
○ 기본적으로는 입력 변수 number를 반올림 한 값을 돌려준다.
○ ndigits이 생략될 경우 소수점 첫째자리에서 반올림하여 정수형태로 돌려준다.
○ ndigits은 정수형태로 입력되며 소수점 자리수를 의미한다. 바꿔말하면 10의 -ndigits에 가까운 배수로 반올림된다.
▷ ndigits이 -1값일 경우 정수 첫째자리에서 반올림을 수행하며, 값이 커질수록 자릿수가 위로 올라간다.
※ 주의: 파이썬의 round()함수에는 특이한 특징이 있는데 반올림을 하려는 자리수에서 올림하기 위해 필요한 값과 내림을 하기 위해 필요한 값이 같다면 짝수를 선택한다는 것이다. 예를들어, round(0.5)와 round(-0.5)는 0을 출력한다.따라서 0.5와 같은 상황에서 반올림을 수행할 경우 주의를 요한다.
사용 예)
In[21]: round(2.5)
Out[21]: 2
In[22]: round(-2.5)
Out[22]: -2
In[23]: round(-3.5)
Out[23]: -4
In[24]: round(-4.5)
Out[24]: -4
In[25]: round(-4.6)
Out[25]: -5
In[26]: round(5555.556, 2)
Out[26]: 5555.56
In[27]: round(5555.556, -2)
Out[27]: 5600.0
숫자형 자료형으로 변경해주는 내장함수
'Python > 파이썬 기초' 카테고리의 다른 글
시퀀스형 자료형과 관련된 내장함수 - 파이썬 기초(12) (0) | 2018.12.17 |
---|---|
문자열형 자료형과 관련된 내장함수와 포맷팅 - 파이썬 기초(11) (0) | 2018.12.16 |
자료형과 관련된 내장함수 - 파이썬 기초(9) (0) | 2018.12.02 |
이터레이터형과 제너레이터형 - 파이썬 기초(8) (0) | 2018.11.18 |
매핑형(딕셔너리)과 관련 함수/메서드 - 파이썬 기초(7) (0) | 2018.11.18 |
댓글