반응형




모듈 Module


+ 외부 모듈 가져오기 (import)
import시 찾는 경로를 알기 위해서는 아래와 같이 path를 찾아본다.
import sys
sys.path
PATH 추가
sys.path.insert(0, ‘/home/…’)   첫 번째 path에 추가한다.

import 모듈      ; 모듈 전체 가져오기. 사용시 모듈.변수 등으로 사용.
or
from 모듈 import 변수나 함수  ; 모듈의 특정 부분만 가져오기.
import한 모듈을 더 이상 사용 안할 경우
del 모듈
다시 불러오기
reload 모듈

import math
dir(math)          # math에 정의되어 있는 함수, 변수등을 확인.
math.sin(90)
math.row(2,10)
math.pi

+ 모듈의 정의
arithmetic.py라고 파일이름을 만들어 여러가지 함수들을 만든다.

import arithmetic
dir(arithmetic)
arithmetic.plus(1,2)
arithmetic.mul(300,400)

현재 경로에 존재하지 않으면?
폴더 지정도 가능. 현재폴더 기준. mylib 폴더내에 arithmetic.py가 있다면...
from mylib.arithmetic import *


from arithmetic import plus     # 해당 파일의 특정 함수만 로딩.
plus(100,200)

from arithmetic import *     # 해당 파일에 있는 모든 함수 사용 가능.





+string 모듈

import string
string.captialize('python')
'Python'
string.replace('simple', 'i', 'a')
'sample'
string.split('break into words')
['break', 'into', 'words']

+webbrowser 모듈
import webbrowser
url='http://google.com'
webbrowser.open(url)

+random
import random
random.random()
0이상 1미만 소수
random.randrange(1,7)
1~6까지 정수.









+ with as
; try~finally 같은 역할.
특정 블록을 벗어날때 항상 처리되어야 할 것이 자동화 처리.
with open('filename', 'w') as f:
     f.write(something);
close()가 없어도 자동 처리.



+ 시간 time, date 날짜
import time
time.time()     ; 19700101이후누적 시간 (초). 소수점이하 포함.
time.ctime()    ;    Sun Oct 11 12:00:50 2015
time.gmtime()
time.localtime()

time.sleep(sec) ; millisec를 하려면, sec/1000.0으로 해줘야 함.


dir(time)    ; 모듈의 내장 함수 목록 조회.



+try, except
try… except  예외 처리.
자바와 c++에서는 try, catch를 사용하고, 예외 발생시 throw를 사용.
파이썬은 try, except를 사용하고, raise를 사용.

try:
     to do...
except:
     ignore....



if size<0:
    raise ValueError(‘number must be non-negative!’)



+try ~ except

try:
    구문
except <예외 종류>:
    예외 처리

try:
    a=10/0
except ZeroDivisionError:        # 잡을 예외
    print('divede by zero.')

try:
    a=int( input('input number:'))
except ValueError:
    print('invalid number!')
except ZeroDivisionError:            # 더 있으면 아래 계속 추가 가능.
    print('divide by zero!')

except (ValueError, ZeroDivisionError):        # 복수개를 한 번에 처리 가능.


+ else
try:
    ...
 except ...:
        ...
else:
    예외가 발생하지 않을 경우.

+ finally

finally:
    무조건 실행되는 영역

+raise
예외 발생

try:
    ...
    if a<=0 or b<=0:
        raise ArithmeticError('message...')
    except ArithmeticError as e:
        print( e.args[0] )
에러 메시지를 받아 출력...





+실행프로그램으로 현재 코드가 실행되는지 확인. (외부 임포트의 경우는 아래 코드가 실행되지 않음.)
if __name__==‘__main__’:
    print(…)





'Python' 카테고리의 다른 글

Python 쉘 커맨드 실행  (0) 2018.04.12
Python JSON 사용하기  (0) 2018.04.10
Python 강좌7 클래스  (0) 2018.03.27
Python 강좌6 tuple, set, dictionary  (0) 2018.03.21
Python 강좌5 List  (0) 2018.03.20

+ Recent posts