파이썬 라이브러리 연습
파이썬 라이브러리
라이브러리: 미리 만들어놓은 함수 집합, 이름이 있음
예제: 지수승 구하기 (예: $3^3$) - 함수로 만들어보기
3 ** 3
27
9 ** 9
387420489
임의의 숫자와 지수를 입력으로 받아서, 지수승 구하기
def exponential(digit, exponent):
value = digit ** exponent
return value
a = int(input("지수를 구하고자 하는 숫자를 입력해 주세요."))
b = int(input("계산 할 지수를 입력해 주세요."))
print("숫자:", a)
print("지수:", b)
print(a,"의", b,"지수승 결과:", exponential(a, b))
숫자: 5 지수: 6 5 의 6 지수승 결과: 15625
수학함수들을 모아놓은 라이브러리가 있음 - math 라이브러리
- math 라이브러리에 pow 라는 이름으로 지수승을 계산해주는 함수를 구현해놓았음
import math
num = math.pow(3, 3)
print (num)
27.0
import math
num = math.pow(a, b)
a = float(input("지수를 구하고자 하는 숫자를 입력해 주세요."))
b = float(input("계산 할 지수를 입력해 주세요."))
print("숫자:", a)
print("지수:", b)
print(a,"의", b,"지수승 결과:", num)
숫자: 5.0 지수: 10.0 5.0 의 10.0 지수승 결과: 9765625.0
- math 라이브러리에 factorial 라는 이름으로 펙토리얼 (예: 5! 는 1 x 2 x 3 x 4 x 5)을 계산해주는 함수를 구현해놓았음
math.factorial(5)
120
얼마나 많은 함수들이 math 라이브러리에 있을까?
- https://docs.python.org/3/library/math.html
라이브러리 사용하기 - 기본 사용법1
import 라이브러리명
라이브러리명.함수명()
예: math 라이브러리에 있는 factorial() 함수 사용하기
import math
math.factorial(5)
-
해당 라이브러리에 있는 함수를 사용하기 위해서는 해당 라이브러리명.함수명으로 써야 함
- math.factorial(5): math 라이브러리에 있는 factorial() 함수를 사용
import math
print (math.factorial(5))
120
라이브러리 사용하기 - 기본 사용법2
- 라이브러리에서 일부 함수만 라이브러리
함수만을 불러 사용하기 위해서는 다음과 같이 from 라이브러명 import 함수명 으로 사용
-
마치 해당 함수를 현재 코드 상단에 선언한 것과 마찬가지가 됨
- 라이브러리명.함수명 으로 쓰지 않고 함수명만 쓰면 됨
# math 라이브러리에 있는 함수 중, sqrt, factorial 함수만 import
from math import sqrt, factorial #사용하고자 하는 함수 모두 호출
num = sqrt(5) #제곱근 #여러개를 호출하면 라이브러리.함수 형태로 호출하지 않아도 됨. 위에서 라이브러리를 선언했기 때문에 함수를 바로 사용 가능
print (num)
num2 = factorial(5) #팩토리얼
print (num2)
2.23606797749979 120
다음과 같이 쓰면, 해당 라이브러리에 있는 모든 함수를 라이브러리명 없이 쓸 수 있음
# math 라이브러리에 있는 모든 함수를 import
from math import *
num1 = sqrt(a)
num2 = factorial(b)
num3 = sqrt(a) + factorial(b)
a = float(input("제곱근을 구하고자 하는 숫자를 입력해 주세요."))
b = float(input("계승을 구하고자 하는 숫자를 입력해 주세요."))
print("제곱근", num)
print("계승", num2)
print("제곱근과 계승의 합:", num3)
/var/folders/2j/rtmpv1x91q9632mhk14cjxhr0000gn/T/ipykernel_13650/908265973.py:4: DeprecationWarning: Using factorial() with floats is deprecated num2 = factorial(b) /var/folders/2j/rtmpv1x91q9632mhk14cjxhr0000gn/T/ipykernel_13650/908265973.py:5: DeprecationWarning: Using factorial() with floats is deprecated num3 = sqrt(a) + factorial(b)
제곱근 8.23606797749979 계승 3628800 제곱근과 계승의 합: 3628802.2360679773
라이브러리에 있는 함수명이 길거나 해서 다른 이름으로 쓰고 싶으면 다음과 같이 작성
import math as d #as를 이용하면 함수명을 줄여서 사용 가능
num = d.factorial(5)
print (num)
# factorial() 함수를 f()로 사용 가능
from math import factorial as f #math 라이브러이의 factorial 함수를 f로 줄여씀
num = f(5)
print (num)
라이브러리가 없으면! 자기 PC에서 실행이 안됨 – 설치하면 됨
-
터미널 (맥은 terminal 프로그램, 윈도우는 Anaconda Prompt 프로그램을 실행해서 다음과 같은 특별한 명령을 수행)
- pip install 라이브러리명