• Home
  • About
    • Ryureka Moment photo

      Ryureka

      Sin Prisa, Sin Pausa

    • About Me
    • Facebook
    • Github
    • Youtube
  • Projects
  • Posts
    • Posts
    • ProblemSolvings
    • Tags
    • Blog
    • TIL
    • Examples
  • ProblemSolving
    • ProblemSolving
    • BruteForce
    • DFS
    • DP
    • Optimization
  • FrontEnd
    • FrontEnd
    • HTML
  • BackEnd
    • BackEnd
    • Spring
    • Node.js
    • DataBase
      • MySQL
  • Programming
    • Programming
    • Java
    • Python
  • ComputerScience
    • DataStructure
    • Algorithm

[파이썬 기초 문법] 11장. ‘모듈의 이해’ 그리고 ‘수학 모듈’ 이용하기

20 Jun 2019

Reading time ~2 minutes

이 포스트는 윤성우님의 저서 열혈 파이썬 기초편을 기반으로 작성한 글입니다.
  • 윤성우 열혈 파이썬 기초편
    • 11장. ‘모듈의 이해’ 그리고 ‘수학 모듈’ 이용하기
      • 1.모듈을 만들어 봅시다.
      • 2.모듈을 가져다 쓰는 방법1
      • 3.모듈을 가져다 쓰는 방법2
      • 4.as로 모듈의 이름 줄이기
      • 5.빌트인 함수

윤성우 열혈 파이썬 기초편

11장. ‘모듈의 이해’ 그리고 ‘수학 모듈’ 이용하기

1.모듈을 만들어 봅시다.

PI = 3.14 		# 원주율

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

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

2.모듈을 가져다 쓰는 방법1

# 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)   # circle.py의 ci_circle 함수 호출
    print("둘레:", ci)

main()

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

# circle_test2.py

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.5
넓이: 94.985
둘레: 34.54
'''
from circle import ar_circle
from circle import ci_circle
from circle import ar_circle, ci_circle

3.모듈을 가져다 쓰는 방법2

# circle.py

PI = 3.14 		# 원주율

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

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

# circle_simple2.py

from circle import ci_circle

def ci_circle(rad):
    print("둘레: ", rad * 2 * 3.14)

def main():
	r = float(input("반지름 입력: "))
	ci_circle(r)    # ? ? ?
	ci_circle(r)    # ? ? ?
    . . .

main()

위와 같이 모듈에서 특정 함수만 따로 import할 수 있다.

# circle_simple2.py

from circle import ci_circle as cc

def ci_circle(rad):
    print("둘레: ", rad * 2 * 3.14)

def main():
	r = float(input("반지름 입력: "))
	ci_circle(r)   # circle_simple2.py
	cc(r)          # circle.py
    . . .

main()

위와 같이 함수이름이 겹칠 경우 as를 사용해서 이름충돌을 방지할 수 있다.

4.as로 모듈의 이름 줄이기

# circle_test3.py

import circle as cc
def main():
    r = float(input("반지름 입력: "))
    ar = cc.ar_circle(r)
    . . . .

5.빌트인 함수

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

빌트인 모듈

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

>>> print
<built-in function print>
>>> input
<built-in function input>
>>> import math		
>>> math.fabs(-10) 	
10.0

math.sin(x) 		sin x
math.cos(x) 		cos x
math.tan(x) 		tan x
math.asin(x) 		arcsin x
math.acos(x) 		arccos x
math.atan(x) 		arctan x
. . . .


Python Share