⏰ 2024.12.18 (D+50)
- 파이썬에서 모듈은 재사용 가능한 코드 단위를 의미하며, 각 모듈은 하나의 .py 파일로 존재
- 모듈 내에서 중요한 역할을 하는 속성 중 하나는
__name____name__은 모듈이 직접 실행될 때는"__main__"값을 갖고, 다른 모듈에서 임포트될 때는 모듈의 이름을 갖는다📖 예시
__name__확인# module1.py print('module1.py:', __name__, sep='')
- 직접 실행 시:
__name__은"__main__"로 출력- 다른 파일에서 import 시: 해당 모듈의 이름이 출력
- 모듈에서는 변수, 함수, 클래스 등을 정의 가능
_if __name__ == '__main__'_:
블록 안에서 코드가 실행되면, 해당 모듈을 직접 실행하는 경우에만 실행- 다른 파일에서 이 모듈을 임포트하면, 해당 블록은 실행되지 않는다
📖 예시: 모듈 내용
import math # 변수 PI = math.pi # 함수 def add(*args): return f'{args[0]}부터 {args[len(args)-1]}까지 누적합 {sum(args)}' # 클래스 class MyClass: def say(self): return '클래스의 메소드 : say' if __name__ == '__main__': print(PI) print(add(*list(range(1, 11)))) myclass = MyClass() print(myclass.say())
- 람다 함수는 간단한 기능을 수행하는 익명 함수로, lambda 키워드를 사용하여 정의
- 람다 함수는 주로 한 줄로 정의되는 함수
📖 예시: 람다 함수
add = lambda x, y: x + y subtract = lambda x, y: x - y if __name__ == '__main__': print(add(10, 10)) print(subtract(10, 10))
- 파이썬의 time 모듈은 시간을 다룰 때 유용한 여러 기능을 제공
time() 함수는 1970년 1월 1일부터 현재까지의 시간을 초 단위로 반환localtime()은 지역 시간으로 변환된 struct_time 객체를 반환strftime()을 사용하면 시간을 특정 형식으로 문자열로 변환📖 예시: time 모듈 사용
import time from time import localtime if __name__ == '__main__': print(dir(time)) print(time.time()) # 현재 시간 (초 단위) print(time.localtime()) # 지역 시간 print(time.localtime(), type(time.localtime()), sep=' | ') local_time = time.localtime() print(local_time, type(local_time), sep=' | ') # struct_time 객체 print(f'{local_time.tm_year}.{local_time.tm_mon}.{local_time.tm_mday} {local_time.tm_hour}:{local_time.tm_min}') print(time.strftime('%Y.%m.%d %p %X', local_time)) # 포맷된 시간 출력
time.sleep()함수는 프로그램을 일정 시간 동안 멈추게 하는 데 사용- 예를 들어,
time.sleep(3)은 3초 동안 프로그램을 일시 중지import time if __name__ == '__main__': time.sleep(3) print('3초 후 출력')
✅ 모듈의 name은 파일이 직접 실행될 때는 "main"이고, 다른 파일에서 임포트될 때는 파일 이름을 반환
✅ 모듈 구성
: 변수, 함수, 클래스 등을 정의하고, if name == 'main': 블록 안에서 실행되는 코드를 넣는다
✅ 람다 함수
: 간단한 함수 정의에 유용한 한 줄짜리 익명 함수
✅ time 모듈
: 시간 관련 함수(time(), localtime(), strftime())를 사용하여 시간을 다루고 출력 가능
✅ time.sleep()
: 프로그램을 일정 시간 동안 중지시키는 함수