내장클래스

2023. 3. 13. 23:38Python/실전 예제로 배우는 파이썬 프로그래밍

클래스는 함수와 마찬가지로 사용자가 직접 정의하는 사용자 클래스와 라이브러리 형식으로 제공되는 내장클래스로 분류됩니다. 파이썬에서는 풍부한 라이브러리를 통해서 수많은 함수와 클래스를 제공하고, 이를 이용하여 애플리케이션을 개발하거나 자료 분석에 활용합니다.

 

파이썬에서 제공하는 내장클래스를 사용하기 위해서는 다음과 같은 형식으로 import 명령어를 이용하여 모듈을 포함시켜야 합니다.

 

형식

1) import 모듈명
2) from 모듈명 import 클래스명1, 클래스명2, ...

한편 builtins 모듈에서 제공하는 내장함수와 동일하게 내장클래스도 import 없이 사용할 수 있습니다.

 

builtins 모듈 내장클래스

import가 필요 없는 builtins 모듈의 enumerate 내장클래스의 생성자를 이용하여 객체를 생성하는 예문입니다.

 

실습 builtins모듈 내장클래스 예시

# (1) 리스트 열거형 객체 이용
lst = [1, 3, 5]
for i, c in enumerate(lst) :
	print('색인: ', i, end=' , ')
    print('내용:', c)

색인: 0, 내용: 1
색인: 1, 내용: 3
색인: 2, 내용: 5

# (2) 튜플 열거형 객체 이용
dit = {'name': '홍길동', 'job': '회사원', 'addr': '서울시'}
for i, k in enumerate(dit) :
	print('순서 :', i, end=', ')
    print('키 :', k, end=', ')
    print('값 :', dit[k])

순서: 0, 키: name, 값: 홍길동
순서: 1, 키: job, 값: 회사원
순서: 2, 키: addr, 값: 서울시

# (1) 리스트 열거형 객체 이용

리스트(lst) 열거형 객체를 enumerate 생성자의 인수로 사용할 경우 열거형 객체의 원소를 순회하면서 색인(원소의 위치)과 내용(원소)을 반환합니다.

 

# (2) 튜플 열거형 객체 이용

튜플(dit) 열거형 객체를 enumerate 생성자의 인수로 사용할 경우 열거형 객체의 원소를 순회하면서 순서(꺼내온 원소의 순서)와 내용(키)을 반환합니다.

 

import 모듈 내장클래스

import가 필요한 datetime 모듈의 date와 time 내장클래스의 생성자를 이용하여 객체를 생성하는 예문입니다. date 내장클래스는 연월일을 인수로 받아서 iso 형식의 날짜 객체를 생성하고, time 내장클래스는 시분초를 인수로 받아서 iso 형식의 시간 객체를 생성하는 클래스입니다.

실습 import 모듈 내장클래스 예시

# (1) 모듈 내장클래스 import
import datetime	# 모듈 import
from datetime import date, time

# (2) date 클래스
help(date)	# date 클래스 도움말

Help on class date in module datetime:

class date(builtins.object)
 |  date(year, month, day) --> date object
 :
 : 
 |  resolution = datetime.timedelta(days=1)

today = date(2019, 10, 23)	# date 객체 생성
print(today)	# date 객체 정보

2019-10-23

# date 객체 멤버변수 호출
print(today.year)	# 2019
print(today.month)	# 10
print(today.day)	# 23

2019
10
23

# date 객체 메서드 호출
w = today.weekday()	# Monday==0 ... Sunday==6 요일 정보: 2
print('요일 정보: ', w)	# 요일 정보

요일 정보: 2

# (3) time 클래스
help(time)	# time 클래스 도움말

Help on class time in module datetime:

class time(builtins.object)
 |  time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object

currTime = time(21, 4, 30)	# time 객체 생성
print(currTime)	# time 객체 정보

21:04:30

# time 객체 멤버변수 호출
print(currTime.hour)	# 21
print(currTime.minute)	# 4
print(currTime.second)	# 30

21
4
30

# time 객체 메서드 호출
isoTime = currTime.isoformat()	# HH:MM:SS
print(isoTime)

21:04:30

# (1) 모듈과 내장 클래스 import

datetime 모듈의 전체 멤버(함수 or 클래스)를 포함시키는 명령문과 datetime 모듈에서 date와 time 클래스를 포함시키는 명령문입니다.

 

# (2) date 클래스

date 클래스의 도움말(help(date))을 보면 생성자 'date(year, month, day)'에 의해서 date object가 생성됩니다. 따라서 date(2019, 10, 23) 형식으로 년, 월, 일 실인수에 의해서 today 객체가 생성됩니다.

 

# (3) time 클래스

time 클래스의 도움말(help(time))을 보면 생성자 'time([hour [, minute [, second [, microsecond [, tzinfo]]]]])'에 의해서 time object가 생성됩니다. 따라서 time(21, 4, 30) 형식으로 시, 분, 초 실인수에 의해서 currTime 객체가 생성됩니다.