Python_패키지

장해수·2023년 6월 10일
  1. 패키지
  • 관련된 모듈을 그룹으로 관리함
from CalculatorForInt import addCal
from CalculatorForInt import subCal
from CalculatorForInt import muiCal
from CalculatorForInt import divCal

print(addCal.add(10, 20))
print(subCal.sub(10, 20))
print(muiCal.mul(10, 20))
print(divCal.div(10, 20))

from CalculatorForFloat import addCal
from CalculatorForFloat import subCal
from CalculatorForFloat import muiCal
from CalculatorForFloat import divCal

print(addCal.add(10, 20))
print(subCal.sub(10, 20))
print(muiCal.mul(10, 20))
print(divCal.div(10, 20))
30
-10
200
0


30.0
-10.0
200.0
0.5
  1. site - package
  • 어디서나 접근 가능한 패키지
  • 다른 패키지에 있는 모듈을 사용하고자 할 떄 해당 모듈을 'venv' > 'lib' > 'site - package'에 저장하면 사용할 수 있음
import sys #시스템 정보를 갖고 있는 모듈

for path in sys.path:  #시스템의 경로를 나열해주는 모듈
    print(path)
"/Users/haesoojang/Desktop/제로베이스 부트캠프/python/project/pycharm/venv/bin/python" /Users/haesoojang/Desktop/제로베이스 부트캠프/python/project/pycharm/3-012/part1_adv_15_site_package.py 
/Users/haesoojang/Desktop/제로베이스 부트캠프/python/project/pycharm/3-012
/Users/haesoojang/Desktop/제로베이스 부트캠프/python/project/pycharm
/Library/Frameworks/Python.framework/Versions/3.9/lib/python39.zip
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload
/Users/haesoojang/Desktop/제로베이스 부트캠프/python/project/pycharm/venv/lib/python3.9/site-packages

#venv: 가상환경(virtual environment) >> 독립적인 환경 세팅으로 작업 가능 (다른 환경에 영행 x)

  1. 자주 사용하는 모듈
    (1) math 모듈
import math

listVar = [2, 5, 3.14, 58, 10, 2]

#합
print(f'sum(listVar): {sum(listVar)}')

#최댓값
print(f'max(listVar): {max(listVar)}')

#최솟값
print(f'min(listVar): {min(listVar)}')

#거듭제곱
print(f'pow(13, 2): {pow(13, 2)}')

#반올림
print(f'round(3.141592, 2): {round(3.141592, 2)}')

#절댓값
print(f'math.fabs(-10): {math.fabs(-10)}')
print(f'math.fabs(-3.14): {math.fabs(-3.14)}')

#올림
print(f'math.ceil(3.14): {math.ceil(3.14)}')

#내림
print(f'math.floor(3.14): {math.floor(3.14)}')

#버림
print(f'math.trunc(3.14): {math.trunc(3.14)}')

#최대공약수
print(f'math.gcd(13, 2): {math.gcd(13, 2)}')

#팩토리얼
print(f'math.factorial(10): {math.factorial(10)}')

#제곱근
print(f'math.sqrt(12): {math.sqrt(12)}')
sum(listVar): 80.14
max(listVar): 58
min(listVar): 2
pow(13, 2): 169
round(3.141592, 2): 3.14
math.fabs(-10): 10.0
math.fabs(-3.14): 3.14
math.ceil(3.14): 4
math.floor(3.14): 3
math.trunc(3.14): 3
math.gcd(13, 2): 1
math.factorial(10): 3628800
math.sqrt(12): 3.4641016151377544

(2) ramdom 모듈

#난수 발생
print(f'난수 : {random.randint(1, 100)}')

#여러 개의 난수 발생
print(f'난수 : {random.sample(range(1, 100), 5)}')
난수 : 99
난수 : [9, 72, 27, 19, 58]

(3) time 모듈

import time

#현재 시스템 시간
lt = time.localtime()
print(f'time.localtime(): {lt}')

print(f'lt.tm_year: {lt.tm_year}')
print(f'lt.tm_mon: {lt.tm_mon}')
print(f'lt.tm_mday: {lt.tm_mday}')
print(f'lt.tm_hour: {lt.tm_hour}')
print(f'lt.tm_min: {lt.tm_min}')
print(f'lt.tm_sec: {lt.tm_sec}')
print(f'lt.tm_wday: {lt.tm_wday}')
time.localtime(): time.struct_time(tm_year=2023, tm_mon=6, tm_mday=10, tm_hour=16, tm_min=11, tm_sec=40, tm_wday=5, tm_yday=161, tm_isdst=0)
lt.tm_year: 2023
lt.tm_mon: 6
lt.tm_mday: 10
lt.tm_hour: 16
lt.tm_min: 11
lt.tm_sec: 40
lt.tm_wday: 5
profile
데이터 진행시켜

0개의 댓글