먼저, circle.py 파일에 원의 둘레와 넓이를 구하는 함수들을 작성해야 됩니다.
def ar_circle(rad):
return rad * rad * 3.14
def ci_circle(rad):
return rad * 2 * 3.14
이렇게 circle.py를 작성했으면 저 파일을 가져다 쓸 파일을 만들어야겠죠??
import circle
def main():
r = float(input("반지름 입력: "))
ar = circle.ar_circle(r)
print("넓이: ", ar)
ci = circle.ci_circle(r)
print("둘레: ", ci)
main()
여기서 import가 쓰였는데요! 이게 circle.py 모듈을 가져다 쓰겠다는 선언을 해주는 친구입니다!
여기서 주의할 점은 import 뒤엔 파이썬 파일의 이름! 즉 circle.py가 아닌 circle를 써야 됩니다~
또한 circle.py와 모듈을 가져다 쓸 파일 이 둘은 같은 위치에 존재해야 됩니다!
그럼 이렇게 결과가 나오게 됩니다!
하지만 circle.py 전체 말고 circle.py의 특정 함수만 가져다가 쓰고싶을 때도 있을 겁니다!
그럴땐
from circle import ar_circle
from circle import ci_circle
def main():
r = float(input("반지름 입력: "))
ar = ar_circle(r)
print("넓이: ", ar)
ci = ci_circle(r)
print("둘레: ", ci)
main()
그럴 땐 from ~ import를 쓰면 됩니당
from 다음엔 .py 파일 이름! 그리고 import 뒤엔 그 파일에서 가져다 쓸 함수 이름을 쓰면 됩니당
하지만 저렇게 같은 파일에서 함수를 여러개 가져다 쓸 때마다 from을 하긴 귀찮으니
from circle import ar_circle, ci_circle
def main():
r = float(input("반지름 입력: "))
ar = ar_circle(r)
print("넓이: ", ar)
ci = ci_circle(r)
print("둘레: ", ci)
main()
이렇게 두개를 같은 줄에 쓰는 것도 가능합니당
앞의
circle.py에선
def ar_circle(rad):
return rad * rad * 3.14
def ci_circle(rad):
return rad * 2 * 3.14
이렇게 return 을 해주었는데요!
가져가 쓰는 파일에선
from circle import ar_circle, ci_circle
def ar_circle(rad):
print("넓이: ", rad * rad * 3.14)
def ci_circle(rad):
print("둘레: ", rad * 2 * 3.14)
def main():
r=float(input("반지름 입력: "))
ar_circle(r)
ci_circle(r)
sum=ar_circle(r)+ci_circle(r)
print("넓이와 둘레의 합: ", sum)
main()
똑같은 이름의 함수들이 return 대신 print를 해주도록 작성했습니다!
이번에 main()에선 계산한 넓이와 둘레의 합을 출력해 주는 sum 도 만들었는데요!
여기서 sum은 circle.py의 모듈에서 가져다 쓴 ar_circle(), ci_circle()함수를 이용하여 합을 구하려고 하였지만 이 코드는 오류가 뜨게 됩니다!
왜냐하면 이름이 중복되어 두 함수가 구분이 되지 않기 때문입니다!
이렇게 함수의 이름을 임시로 바꿔주면 됩니다!
from circle import ar_circle as ar
from circle import ci_circle as ci
def ar_circle(rad):
print("넓이: ", rad * rad * 3.14)
def ci_circle(rad):
print("둘레: ", rad * 2 * 3.14)
def main():
r=float(input("반지름 입력: "))
ar_circle(r)
ci_circle(r)
sum=ar(r)+ci(r)
print("넓이와 둘레의 합: ", sum)
main()
이렇게 하면 circle.py 모듈 안의 ar_circle()함수는 ar로, ci_circle()함수는 ci로 이름을 바꾸었고,
sum=ar(r)+ci(r) 로 바꾸어 주면
정상적으로 실행이 됩니다!
함수만 이름을 바꿔서 쓸 수 있는게 아니라 모듈의 이름도 바꿔서 쓸 수 있습니다!
import circle as cc
def ar_circle(rad):
print("넓이: ", rad * rad * 3.14)
def ci_circle(rad):
print("둘레: ", rad * 2 * 3.14)
def main():
r=float(input("반지름 입력: "))
ar_circle(r)
ci_circle(r)
sum=cc.ar_circle(r)+cc.ci_circle(r)
print("넓이와 둘레의 합: ", sum)
main()
이렇게여!
앞에선 직접 import를 해서 모듈을 가져와서 썼는데요!
파이썬에서는 파이썬을 설치하기만 하면 기본적으로 제공해주는 빌트인(Built-in) 함수들이 있습니다!
예를들어 위에서도 썼듯이 print()함수도 빌트인 함수입니다!
import math
math.pi # 파이
math.e # e
math.sin(x) # sin(x)
math.cos(x) # cos(x)
math.tan(x) # tan(x)
math.asin(x) # arsin(x)
math.acos(x) # arcos(x)
math.atan(x) # artan(x)
math.log(x) # ln(x)
math.log10(x) # log10(x)
math.log2(x) # log2(x)
math.exp(x) # e^x
math.sqrt(x) # √(x)
math.fabs(x) # ∣x∣
math.degress(x) # convert radians to degrees
math.radians(x) # convert degrees to radians
그럼 이번 글은 여기서 마치도록 하겠습니다 :D