파이썬 표준 모듈

2021. 8. 24. 10:52·SW개발/Python
반응형

표준 모듈

import

  • 다른 파일에 정의된 변수, 함수, 객체 등을 사용하기 전에 파일을 가져온다.

    import 모듈 [as alias]
    from 모듈 import 함수명
  • 전체 파일의 크기를 줄이려면 from 모듈 import 함수명 의 형식으로 작성하는게 좋다.

  • 아래의 출력 결과는 모두 같다.

    import math
    print(math.sqrt(2))
    from math import sqrt
    print(sqrt(2))
    import math as m
    print(m.sqrt(2))
    from math import sqrt as sq
    print(sq(2))

수학 (math)

https://docs.python.org/ko/3/library/math.html

상수

상수 설명
pi 원주율
tau 원주율 2배
e 자연 대수
inf 무한대
nan 숫자가 아닌 값

함수

함수명 설명
sqrt(x) 제곱근
pow(x,y) 거듭제곱
hypot(x,y) 빗변 계산
factorial(x) 팩토리얼
sin(x), cos(x), tan(x) 삼각함수
degrees(x) 라디안 -> 도(degree)
radians(x) 도(degree) -> 라디안
ceil(x) 올림
floor(x) 버림
fabs(x) 절댓값
trunc(x) 정수화, int(x)와 같은 결과를 반환한다.
log(x, base) 로그
log10(x) 상용 로그
gcd(a, b) 최대 공약수를 반환

통계 (statistics)

함수

함수명 설명
mean() 평균
harmonic_mean() 조화평균
median() 중앙값, 짝수인 경우 보간값 계산
median_low() 중앙값을 구함, 집합 내의 낮은 값 선택
median_high() 중앙값을 구함, 집합 내의 높은 값 선택
mdeian_grouped() 그룹 연속 중앙값
mode() 최빈값
pstdev() 모표준편차
stddev() 표준편차
variance() 분산

시간 (time)

유닉스 시간(Epoch 시간, POSIX 시간)

  • 1970년 1월 1일 00:00:00 협정 세계시(UTC) 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것이다.

    import time
    t = time.time()
    print(t)
    print(time.ctime(t)) # 우리나라에선 잘 안쓴다.
    now = time.localtime(t)
    print(f"{now.tm_year}년 {now.tm_mon}월 {now.tm_mday}일", end = ' ')
    print(f"{now.tm_hour}:{now.tm_min}:{now.tm_sec}")
    
    ''' stdout
    1625810577.426773
    Fri Jul  9 15:02:57 2021
    2021년 7월 9일 15:2:57
    '''
  • time.struct_time 클래스

    • gmtime(), localtime(), strptime()의 반환 시퀀스 자료형
    인덱스 속성 값
    0 tm_year 연도
    1 tm_mon 월 [1, 12]
    2 tm_mday 일 [1, 31]
    3 tm_hour 시간 [0, 23]
    4 tm_min 분 [0, 59]
    5 tm_sec 초 [0, 61]
    6 tm_wday 요일 [0, 6], 월요일 시작
    7 tm_yday 연중 며칠째인지 [1, 366]
    8 tm_isdst 일광 절약 시간제 적용 시 1, 아니면 0, 모르면 -1
    없음 tm_zone 시간대 이름의 약어
    없음 tm_gmtoff UTC에서 동쪽으로 초 단위 오프셋
  • datetime 사용

    from datetime import datetime
    now = datetime.now()
    dates = ("월", "화", "수", "목", "금", "토", "일")
    print(f"{now.year}년 {now.month}월 {now.day}일 {dates[now.weekday()]}요일", end = ' ')
    print(f"{now.hour:02d}:{now.minute:02d}:{now.second:02d}")
    
    ''' stdout
    2021년 7월 9일 금요일 15:06:33
    '''

메서드

메서드 변환 전 변환 후
gmtime() 에포크 이후 초 UTC의 struct_time
localtime() 에포크 이후 초 현지 시간의 struct_time
calendar.timegm() UTC의 struct_time 에포크 이후 초
mktime() 현지 시간의 struct_time 에포크 이후 초
  • 참고 : https://docs.python.org/ko/3/library/time.html

실행 시간 측정

import time
start = time.time()
for a in range(1000):
    print(a)
end = time.time()
print(end - start)

''' stdout
0
1
...
999
0.23747658729553223
'''

실행 멈춤

import time
print("안녕하세요")
time.sleep(1)
print("밤에 성시경이 두 명 있으면 뭘까요?")
time.sleep(3)
print('야간투시경입니다.')

달력 (calendar)

  • 달력 출력 가능

    import calendar as cal
    print(cal.calendar(2021))
    print(cal.month(2021, 7))

난수 (random)

함수

함수명 설명
.random() 0 ~ 1 사이의 난수 리턴 (1 미포함)
.randint(begin, end) begin ~ end 사이의 정수 난수 리턴 (end 포함)
.randrange(begin, end) begin ~ end 사이의 정수 난수 리턴 (end 미포함)
.uniform(begin, end) begin ~ end 사이의 실수 난수 리턴 (end 미포함)
.choice(시퀀스) 시퀀스에서 랜덤하게 요소를 선택하여 리턴
.shuffle(시퀀스) 시퀀스의 내용을 랜덤하게 섞는다.
.sample(시퀀스, count) 시퀀스에서 랜덤하게 count 만큼의 요소를 샘플로 뽑아 리턴
import random

for i in range(3):
    print(random.random())
print()
for i in range(3):
    print(random.randint(1, 10))
print()
for i in range(3):
    print(random.randrange(1, 10))
print()
for i in range(3):
    print(random.uniform(1, 10))

food = ["짜장면", "짬뽕", "탕수육", "군만두"]
print()
print(random.choice(food))
print()
print(random.sample(food, 2))
print()
print(food)
print()
random.shuffle(food)
print(food)

''' stdout
0.49319954486125117
0.34949220090889466
0.8089770081669401

8
1
2

5
4
1

6.949706451204434
4.21418278703128
8.835615150642608

짬뽕

['탕수육', '짜장면']

['짜장면', '짬뽕', '탕수육', '군만두']

['군만두', '탕수육', '짬뽕', '짜장면']
'''

시스템 (sys)

시스템 정보

import sys

print("버전: ", sys.version)
print("플랫폼: ", sys.platform)
print("바이트 순서: ", sys.byteorder)
print("모듈 경로: ", sys.path)
sys.exit(0)

''' stdout
버전:  3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)]
플랫폼:  win32
바이트 순서:  little
모듈 경로:  ['c:\\~~~']
'''
반응형
저작자표시 (새창열림)

'SW개발 > Python' 카테고리의 다른 글

파이썬 파일  (0) 2021.08.24
파이썬 예외 처리  (0) 2021.08.24
파이썬 컬렉션 관리  (0) 2021.08.24
파이썬 집합(Set)  (0) 2021.08.22
파이썬 사전(Dictionary)  (0) 2021.08.22
'SW개발/Python' 카테고리의 다른 글
  • 파이썬 파일
  • 파이썬 예외 처리
  • 파이썬 컬렉션 관리
  • 파이썬 집합(Set)
Caniro
Caniro
  • Caniro
    Minimalism
    Caniro
  • 전체
    오늘
    어제
    • 전체보기 (318) N
      • SW개발 (268)
        • Java Spring (6)
        • C++ (186)
        • Python (21)
        • Linux (16)
        • 알고리즘 (13)
        • Git (4)
        • Embedded (1)
        • Raspberrypi (9)
        • React (3)
        • Web (2)
        • Windows Device Driver (6)
      • IT(개발아님) (45)
        • Windows (25)
        • MacOS (7)
        • Utility (11)
      • 챗봇 짬통 (0)
      • 일상 (2) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    unix
    윈도우 명령어
    알림
    그림판
    윈도우
    제외
    citrix workspace
    스프링
    시스템 복구
    logi options
    java
    Solaris 10
    Workspace
    스프링 프레임워크 핵심 기술
    dism
    KakaoTalk
    MacOS
    로지텍 마우스 제스처
    백기선
    windows
    맥북 카카오톡 알림 안뜸
    vscode
    EXCLUDE
    SunOS 5.1
    mspaint
    SFC
    spring
    Windows 11
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Caniro
파이썬 표준 모듈
상단으로

티스토리툴바