Python 중급 02.

yoong·2023년 4월 13일

1. Python

목록 보기
11/21

Python 중급 2.

01.모듈

1. 모듈의 정의

  • 함수가 선언되어 있는 파이썬 파일. 이미 만들어진 기능을 사용자들이 쉽게 사용할 수있음.
    (예시) 계산 모듈, 난수 모듈, 날짜/시간 모듈
#난수 모듈1 
import random

rNum = random.randint(1,10)
print(f'rNum :{rNum}')

#난수 모듈2
import random

rNums = random.sample(range(1,100), 10)
print(f'rNum :{rNums}')
  • 모듈 구분
    a. 내부 모듈: 파이썬 설치 시 기본적으로 사용 할 수 있는 모듈
    b. 외부 모듈: 별도 설치 후 사용할 수 있는 모듈 ex)pandas,numpy
    c. 사용자 모듈: 사용자가 직접 만든 모듈

2. 모듈 제작 및 사용

  • 파이썬 파일을 만들고 사용시, 'import + 파일명(확장자없이)'써서 불러오면 됨 ex) import calculator
  • 모듈 내 기능을 사용할 시, '모듈명.기능명()' ex)calculator.add(20,10)

a. import

#모듈파일: 문자뒤집기 
def reverseStr(str):
    reversedString = ''
    for c in str:
        reversedString = c + reversedString

    return reversedString
    
#실행파일
import reverse_input

userInputStr = input('문자열 입력: ')
reversedString = reverse_input.reverseStr(userInputStr)
print(f'reversedString: {reversedString}')

b. as

: as 키워드를 이용해서 모듈 이름을 단축 시킬 수 있음.

import reverse_input as rev

userInputStr = input('문자열 입력: ')
reversedString = rev.reverseStr(userInputStr)
print(f'reversedString: {reversedString}')

c. from ~ as

  • from ~ as키워드를 이용해서 모듈의 특정 기능만 사용할 수 있음. (모듈 파일 내에 여러 기능들이 있을 때 특정 기능만 찝어서 가지고 올 수 있음 )
  • 이렇게 가져 오는경우 기존의 모듈명.기능명()방식이 아니라 '기능명()만 적으면 됨
  • 전체 기능을 가져오고 싶은 경우는 'from 모듈명 import *'
#calculator 모듈파일 
def add(n1,n2):
    print(f'덧셈 결과: {n1 + n2 }')

def sub(n1,n2):
    print(f'뺄셈 결과: {n1 - n2 }')

def mul(n1,n2):
    print(f'곱셈 결과: {n1 * n2 }')

def div(n1,n2):
    print(f'나눗셈 결과: {round(n1 / n2 ,2) }')
    
#실행파일(
from calculator import add,sub
add(10,20)  
sub(10,20)
    
fro caclulator import * 
add(10,20)
sub(10,20)
mul(10,20)
div(10,20)

3. 자주 사용하는 모듈

a. math모듈


b. random모듈

c. time모듈



02.실행(메인)파일

1. 전역변수 name

:모든 파일은 상황에 따라 모듈 혹은 실행파일로 작용할 수 있음.
a. 모듈파일 경우 -> 모듈 이름으로 저장 (실행파일에서 볼때)
#ex: name ='subModule'

b. 실행파일의 경우 -> main으로 저장
#실제로 모듈을 실행하는 '실행파일'의 경우 name = main

def cmToMm(n):
    return round(n * 10, 3)

def cmToInch(n):
    return round(n * 0.393,3)

def cmToM(n):
    return round(n * 0.01,3)

def cmToFt(n):
    return round(n * 0.032,3)

if __name__ == '__main__' :        
    print(f'10cm: {cmToMm(10)} mm')

03.패키지

: 패키지를 이용하면 관련 있는 모듈을 그룹으로 관리 할 수 있음.

01. 함수,모듈,패키지

  • 함수 : def function_name() : 로 정의, .py 파일 내에 여러개 존재.
  • 모듈 : 파이썬 파일이 모듈. 한 패키지 안에 여러개의 모듈이 존재.
  • 패키지 : 프로젝트 디렉토리 아래에 py파일을 포함한 디렉토리가 패키지.

02. site-packages

: site-package에 있는 모듈은 범용 모듈로 어디에서나 사용 가능,독립적 환경세팅이 가능.
(가령, 독립적이지 못하면 파이썬 버전에 따라서 라이브러리,파일등이 부딪혀 에러발생 가능) !

Reference

profile
데이터와 이미지로 세상을 공부하는 중입니다 :)

0개의 댓글