스크립트 vs 모듈

YU NA Joe·2022년 7월 27일
0

스크립트

1.스크립트는 실제로 프로그램을 작동시키는 코드를 담은, 실행 용도의 파일

run.py 


import area 

x = float(input("반지름입력"))
print("반지름인 {}의 원의 면적은 {}입니다".format(x, area.circle(x)))

y = float(input("반지름입력"))
print("반지름인 {}인 정사각형의 면적은 {}입니다.".format(y, area.square(y)))

모듈

2.모듈은 프로그램에 필요한 변수들이나 함수들을 정의해 놓은, 임포트 용도의 파일

area.py 


PI = 3.14 

def circle(radius):
    return PI * radius * radius

def square(length):
    return length * length


area.py 를 조금 바꿔보자 

PI = 3.14 

def circle(radius):
    return PI * radius * radius

def square(length):
    return length * length

print(circle(2))   # 12.56
print(circle(5))   # 78.5
print(square(3))  # 9
print(square(5)) # 25

# run.py를 실행해보면은?!
--> 아래처럼 나온다. 즉, area.py에 있는 모든 코드들을 가져오게 된다.
12.56
78.5
9
25
반지름입력:

how to fix it?!?!

area.py 에 if name = "main"를 적어주고, 실행코드를 넣어주면 된당

## area.py 



print("area.py 파일이름{}".format(__name__))

PI = 3.14 

def circle(radius):
    return PI * radius * radius

def square(length):
    return length * length

if __name__ == "__main__": 
    print(circle(2))  
    print(circle(5)) 
    print(square(3))
    print(square(5))

==> 
area.py 파일이름__main__
12.56
78.5
9
25

# run.py 

import area  

print("run파일이름{}".format(__name__))

==>
area.py 파일이름area 
run파일이름__main__

#이 부분은 area.py에서 '__init__ == __main__' 위에다가 적었기 때문에 실행이된다 

0개의 댓글