본문 바로가기

python

9. from/import

728x90
반응형

43. 파이썬 모듈 이해하기

"파이썬에서는 각각의 소스 파일을 일컬어 모듈이라고 한다"

(ex: 내장모듈- import datetime)

 

이미 만들어져 있고 안정성이 검증된 함수들을 성격에 맞게

하나의 파일로 묶어 놓은것 모듈이라고 한다.

 

외부에 모듈에 있는 함수를 사용하려면 모듈을 먼저

우리 코드로 가져와서 자유롭게 사용할 있도록 해야 하는데

이런일을 파이썬에서는 모듈을 import 한다라고 한다.

 

 

예제:

import time

print('5초간 프로그램을 정지합니다')

time.sleep(5)

print('5초가 지났습니다.')

 

 

문제164. 아래의 4개의 함수를 가지고 cal_test3.py 라는 모듈을 생성하시오

 

def plus(a,b):

    return a+b

 

def minus(a,b):

    return a-b

 

def multiply(a,b):

    return a*b

 

def devide(a,b):

    return a/b

 

**lib->sitepackges->다른이름으로저장

 

cal_test3.py 있는 위치에 다른 코드에서

cal_test3.py 호출해서 아래와 같이 코드를 실행해보시오

 

import cal_test3

print(cal_test3.plus(10,5) )

 

 

 

 

 

44. 파이썬 패키지 이해하기

"우리가 음악파일을 저장할 때도 장르별로 폴더를 만들어서

별도로 저장하듯이

파이썬 모듈도 음악처럼 갯수가 많아지면 폴더(모듈 꾸러미) 별로

관리를 해야 관리가 편해지는데 폴더(디렉토리) 패키지이다.

 

 

site-package my_loc 폴더 생성

 

평범한 폴더가 패키지로 인정을 받으려면 반드시 갖고 있어야 하는 파일이 있다.

 

      __init__.py   <--폴더 안에 파일이 있어야 (my_loc 안에다가)

          

   언더바 2개임

대체로 파일의 내용은 비워둔다.

 

 

문제165.

 __init__.py 대개 비워두는 것이 보통인데 파일을 손대는 경우는 언제인가????

 

:

__all__     변수를 조정할 손을 댄다.

  

패키지로 부터 반입할 목록을 정의할 사용

 

 

__init__py.  열어서 아래의 내용을 적으시오

 

__all__ = ['cal_test3', 'oracle_func']

 

위와 같이 __init__ __all__ 설정해 놓으면

패키지의 모듈을 불러올 아래의 명령어가 가능해진다.

 

 

from my_loc import *

  원래는

from my_loc import cal_test3

from my_loc import oracle_funcs

 

 

아래와 같이 테스트 하시오

from my_loc import *

print(cal_test3.plus(10,7) )

 

************

*하면 에러뜸

따로따로 하면 돌아감----------->콘솔 껐다 키면 .

 

from my_loc import cal_test3

print(cal_test3.plus(10,7) )

 

 

from my_loc import oracle_funcs

print(cal_test3.plus(10,7) )

*********

 

문제166.(점심시간 문제)

mean (평균구하는 함수) 이라는 함수를 생성 하시오

(가변 매개변수를 이용해서 숫자를 몇개를 넣고

실행하던 상관없이 평균값이 구해지게 하시오)

 

print(mean(7,9,2,5,4,9,8) )

6.28

 

print(mean(7,9,2,5,4,9,8,10,12) )

 

def mean(*n):

    n_list=list(n)

    a=sum(n_list)

    b=len(n_list)

    result=a/b

    return result

print(mean(7,9,2,5,4,9,8,10,12) )

 

***list 안시켜도 가능함(튜플값으로 들어가서)

 

 

 

45. 파이썬 모듈 임폴트 이해하기 (import)

 

설명: import 문을 만나면 파이썬 모듈을 찾는 순서

             1. 파이썬 내장 모듈

        2. sys.path 정의 되어있는 디렉토리

       

 

 

46. 파이썬 모듈 임폴트 이해하기 (from~import)

 

C:\Users\itwill\my_loc(패키지)

                               

                        cal_test3.py (모듈)

                          plus, minus, multiply, devide  (함수)

 

(스파이더 Editor ) untitled0.py 에서 cal_test3.py 모듈안의 plus 함수를 사용하고 싶다면?

 

import  my_loc.cal_test3 

# 위와 같다

#from  my_loc  import cal_test3                              

print(my_loc.cal_test3.plus(10, 20) )

      

             편하게 코딩

 

import my_loc.cal_test3 as mc

print(mc.plus(10,20 ) )

 

             편하게 코딩

 

from my_loc.cal_test3 import plus

print(plus(10,20))

 

             편하게 코딩

 

from my_loc.cal_test3 import *

print(minus(20,10))

 

 

 

47. 파이썬 모듈 임폴트 이해하기 (import~as)

 

import my_loc.cal_test3 as mc

print(mc.plus(10,20 ) )

 

알리어스 지정

 

 


728x90
반응형

'python' 카테고리의 다른 글

11. try~except  (0) 2019.03.25
10. class  (0) 2019.03.25
8. 함수, 지역/번역 변수  (0) 2019.03.25
★리스트/함수  (0) 2019.03.25
7. 리스트, 튜플, dictionary  (0) 2019.03.25