파이썬 라이브러리

라이브러리: 미리 만들어놓은 함수 집합, 이름이 있음


예제: 지수승 구하기 (예: $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 라이브러리명