앞서 파이썬의 기본적인 문법 단계인 반복문과 조건문까지 학습했다.
이번에는 파이썬의 중급 문법들을 다뤄보면서 [모듈, 패키지, 클래스, 객체 지향의 개념] 까지 학습한 내용들을 정리했다.
파이썬에서 대표적으로 많이 활용하는 모듈에는 random , math, time 모듈이 있다.
import math
print(math.fabs(-10))
ceil() : 올림
math.ceil(5.21) # -> 6
math.ceil(-5.21) # -> -5
floor() : 내림
math.floor(5.21) # -> 5
math.floor(-5.21) # -> -6
trunc() : 버림
math.trunc(5.21) # -> 5
math.trunc(-5.21) # -> -5
gcd() : 최대공약수
math.gcd(14,21) # -> 7
factorial() : 팩토리얼
math.factorial(10) # -> 10!
math.sqrt(4) # -> 2
import time
time.localtime() # -> time.struct_time(tm_year, tm_mon, tm_mday,...)
# year 만 출력
lt = time.localtime()
lt.tm_year
# month 만 출력
lt.tm_mon
# day만 출력
lt.tm_mday
# hour 만 출력
lt.tm_hour
# min
lt.tm_min
# sec
lt.tm_sec
# 요일
lt.tm_wday
import random
random.random()
random.randrange(1,7) # 1 ~ 6의 범위에서 무작위 정수 출력
abc = ['a', 'b', 'c', 'd', 'e']
random.shuffle(abc)
# ['a', 'd', 'e', 'b', 'c']
random.choice(abc)
# 'a'
random.choice('abcdefghijk')
# 'c'
random.uniform(1,10)
# 1.1800146073117523
random.randint(1,10) # 1~10까지의 범위에서 임의의 정수 출력
# 7
random.sample([1,2,3,4,5], 3) # 3개의 원소를 선택
# [4,1,5]
모듈은 그냥 '파일'라고 생각하면 된다. 파일에도 '현재 실행하고 있는 파일' 과 그렇지 않은 파일로 나뉠 수가 있다.
import 파일이름 as 파일별명
으로 불러올 수 있다. from 파일이름 import 함수이름
from 파일이름 import *
실행 파일과 다른 모듈 파일들을 파이썬은 어떻게 구분할까?
__name__
이라는 전역변수로 구분할 수 있다. 파이썬은 알아서 파일을 만들 때 이 전역변수를 만들어준다.
즉, 메인 실행 파일에는
__name__ = '__main__'
이라고 저장되고, 반대로 다른 모듈 파일에는 해당 모듈 파일의 이름이 저장된다.
__name__ = '모듈파일이름'
패키지는 말 그대로 디렉토리다. 디렉토리 안에 관련 있는 모듈들(파일들)을 넣어두면 편하게 관리할 수 있다.
따라서, 모듈 이름(파일 이름)이 같다하더라도 디렉토리가 다르다면 독립적으로 관리할 수 있다.
다른 패키지(디렉토리)의 모듈을 가져와서 사용할 수 있을까?
원래는 불가하다. 하지만 site-packages 디렉토리에 있는 모듈들은 어떤 디렉토리에 있다 하더라도 사용할 수 있다.
❓site-packages 의 위치는❓
venv 디렉토리 밑에 있다.
즉, 어떤 패키지를 만든 뒤에, 다른 디렉토리에서 범용적으로 사용하고 싶다면 해당 패키지 오른쪽 클릭 -> Refactor -> Move Directory -> site-packages 로 파일을 옮겨주도록 하자.
다음 파트에는 객체지향 프로그래밍이 뭐고, 클래스를 다루는 방법에 대해서 살펴보도록 하겠다. ☕️
Thanks for the information... mybkexperience