5장 - 모듈

Kiyong Lee·2021년 4월 17일
0

파이썬

목록 보기
12/21
post-custom-banner

모듈

모듈이란? 파이썬 코드로 이루어진 파일

모듈 만들기

모듈에 대해 자세히 들어가기 전에, 간단한 모듈을 만들어 보자잇

def add(a,b) :
return a+b

def sub(a,b) :
return a-b

모듈 불러오기

위 만든 모듈 파일을 불러오려면

import mod1
print(mod1.add(3,4))를 하면 된다

모듈을 사용하면서, orint 할 때 모듈이름을 붙이지 않고 바로 할 수도 있다

from mod1 import add
add(4,5)

mod1로 부터 add(4,5)를 추가하겠다! 라는 말이다

근데 mod1에 내가 많은 함수를 선언했다면?

from mod1 import 함수1,함수2
from mod1 import *

이렇게 두 가지로 사용할 수 있다

ifname=="main": 의 의미

이번에는 mod1.py 파일을 변경해보자이번에는 mod1.py 파일을 변경해보자

def add(a,b) :
return a+b

def sub(a,b) :
return a-b

print(add(1,4))
print(sub(4,2))

mod1을 실행하면 5와 2가 나올 것이다

그리고 import mod1을 실행하면 역시 5,2가 나온다

mod1에서 print를 선언했기 때문에, 내가 add, sub에 다른 걸 넣어서 사용하고 싶어도 안되는 것이다

이런 걸 방지하기 위해 mod1파일의 print 부분을

if name == "main" :
print(add(1,4))
print(sub(4,2))

이렇게 변경해야 한다

name부분도 _인줄 알았는데, 얘는 두줄이네;;

그렇게 해서

import mod1 을 하면 아무것도 안나오고
print(mod1.add(5,6))을 붙여주면 11이 나온다

클래스나 변수 등을 포함한 모듈

지금까지 모듈은 함수만 포함했는데, 클래스나 변수 등을 포함할 수 이따

pi = 3.141592

class Math :
def solv(self,r):
return pi * (r**2)

def add(a,b) :
return a+b

ㅠr^2 이거 고딩 때 원넓이 구하던 공식ㅋㅋㅋㅋㅋㅋㅋ

main으로 들어가서

import mod1
print(mod1.pi)
하면 3.141592가 나온다

import mod1

a=mod1.Math()
b=a.solv(4)
print(b)

a라는 객체에 Math라는 인스턴스를 대입했고, solv함수에 4를 넣어 ㅠ4^2을 했다

profile
ISTJ인 K-개발자
post-custom-banner

0개의 댓글