Small Grey Outline Pointer python :: 모듈
본문 바로가기
Dev./Python

python :: 모듈

by sso. 2022. 7. 5.

모듈이란 함수나 변수 또는 클래스를 모아 놓은 파일이다.

모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이라고도 할 수 있다.

우리는 파이썬으로 프로그래밍을 할 때 굉장히 많은 모듈을 사용한다.

다른 사람들이 이미 만들어 놓은 모듈을 사용할 수도 있고 우리가 직접 만들어서 사용할 수도 있다

 

 

 

 

circle.py

# %% module Test
PI = 3.14 #원주율

def ar_circle(rad): #원의 넓이를 계산해서 반환하는 함수
    return rad*rad*PI


def ci_circle(rad): #원의 둘레를 계산해서 반환하는 함수
    return rad*2*PI

 

circle_test1.py

import circle #circle.py 모듈을 가져다 쓰겠다는 선언

def main():
    r=float(input("반지름 입력: "))
    ar=circle.ar_circle(r) #circle.py의 ar_circle 함수 호출
    print("넓이: ", ar)
    ci=circle.ci_circle(r) 
    print("둘레: ", ci)

main()

반지름 입력: 5
넓이:  78.5
둘레:  31.400000000000002

 

반지름 입력: 5.5
넓이:  94.985
둘레:  34.54

 

 

from turtle import circle
from circle import ar_circle
from circle import ci_circle

def main():
    r=float(input("반지름 입력: "))
    ar=ar_circle(r) #circle.py의 ar_circle 함수 호출
    print("넓이: ", ar)
    ci=ci_circle(r) #circle.py의 ci_circle 함수 호출
    print("둘레: ", ci)


main()

반지름 입력: 5
넓이:  78.5
둘레:  31.400000000000002

 

 

다수의 모듈을 import 하게 될 경우

 

 

 

from circle import ar_circle
from circle import ci_circle
#다음과 같이 작성 가능하다

from circle import ar_circle,ci_circle

 

 


 

 

from circle import ci_circle as cc #모듈에서 가져온 ci_circle의 임시이름을 cc로 하겠다!
"""  def ci_circle(rad):
    return rad*2*PI """

def ci_circle(rad): #내가 여기서 만든 ci_circle 함수
    print("둘레: ", rad*2*3.14)


def main():
    r=float(input("반지름 입력: "))
    ci_circle(r) #circle_simple2.py
    cc(r) #circle.py 에서 가져온 ci_circle의 임시이름 cc


main()

함수 이름이 같을 경우

모듈에서 가져온 것인지 내가 새로 만들어낸 것인지 파이썬은 알 수 없다

따라서 둘 중 하나의 이름을 변경해주어야 한다

내가 잠깐 사용하는 동안에만 이름을 바꿔주는 것은 문제가 되지 않는다

내가 만든 함수이름도, 모듈에서 가져온 함수 이름도 이유가 있어서 그렇게 지어놨기 때문에

그 함수를 가져와서 사용하는 동안에만 이름을 붙여준다(애칭같은 느낌) as //키워드

 

as cc
=>

def ci_circle(rad):
    return rad*2*PI

 

 

모듈의 이름을 임의적으로 바꾼다는 건 그렇게 권장하진 않으나 많이 사용한다

 

 

 


수학 관련 모듈

 

빌트인 함수

import 선언 없이 그냥 언제든 호출 가능한 함수

 

빌트인 모듈

위치 신경 쓰지 않고 언제든 import 할 수 있는 함수

 

>>>print
<built-in function print>
>>>input
<built-in function input>

 

 

 

 

 

 

 

728x90

'Dev. > Python' 카테고리의 다른 글

python :: 전역변수와 지역변수  (0) 2022.07.14
python :: Dictionary 딕셔너리  (0) 2022.07.12
python :: 튜플과 레인지  (0) 2022.07.01
python :: if ~ elif~ else / 연산자 예제  (0) 2022.06.30
Python :: 컬렉션 - List  (0) 2022.06.29

댓글